Software development Year 12 – Chapter 3 Questions
1. What are the main purposes for software being developed?
The main purpose of software being developed would be to increase
productivity and efficiency, reduce costs, identify any opportunities and
meet organizational objectives or needs of other users.
2. What must be included in a design brief?
There must be a problem, need or opportunity that you are identifying that
is making write this software. Then, you must include your proposed users,
who the software is being made for. Also include any programming
languages being used and feasibility/originality of the software.
3. What is meant by project management?
Project management is the process of planning, organizing and monitoring
a project that you have created. It involves creating a organizational tool
and monitoring tool.
4. Identify two consequences of a badly managed project.
A badly managed project could result in the product not being done in
time (organization) and different people not knowing what they are doing,
you have to give tasks to people before the project.
5. Why is a Gantt chart used?
To monitor any tasks that need to be completed in a specific time frame.
They can be used to organize the tasks that are allocated
6. Differentiate between concepts and processes in project
management.
Concepts are the milestones and dependencies within a project timeline,
and processes are task identification, sequencing and allocation of time
and resources within a project timeline.
7. Differentiate between predecessors and successors on a Gantt
chart.
A predecessor task is one that must be completed before another task
(the successor) can begin, while a successor task is one that cannot start
until its predecessor is finished
8. How does a survey differ from an interview?
A survey collects quantitative data, opposed to an interview which collects
an user’s opinions, qualitative data.
9. When would an observation be a preferred method of collecting
data?
Observations provide an unbiased view towards the system or software, so
the developer can collect data that is useful. Firsthand experience.
10. What are three advantages of an interview?
An advantage of an interview would be that the interviewer can ask any
follow-up questions and clarify the person being interviewed with their
point of view. Interviews are very useful for eliciting feelings, attitudes and
opinions that are too complex to easily record in a survey.
11. What are two disadvantages of using reports as part of data
collection?
Reports provide good interpretation, however, may not be sound, or may
have been deliberately manipulated to present a particular point of view.
Using data from reports can be risky if the source of those reports is not
reliable.
12. How is a functional requirement different from a non-
functional requirement?
Functional requirements relate directly to what the solution will do, on the
other hand, non-functional requirements relate to the good to haves,
relating to appearance not functionality.
13. Categories each of these requirements as functional or non-
functional:
a A report must be printed to a printer. -Functional
b All font colors must be green. – Non-functional
c A discount must be applied to a product. - functional
d The drone must be able to navigate a path through a maze. - functional
e The body mass index of a person will be calculated. - functional
f A typical six-year-old should understand all of the words displayed. – non-
functional
g Button sizes must be big enough for touchscreen capability. – non-
functional
h Input can be via voice or keyboard. – non-functional
14. What is the difference between reliability and robustness?
Reliability of a software relates to how much the software can be
dependent on to work, and how long it goes for. The robustness of a
software solution relates to how well the solution responds to errors.
15. What does it mean for a software solution to be
maintainable?
Maintainability is how easy the software solution can be fixed, modified or
changed after an error has occurred.
16. What does it mean for a software solution to be usable?
Usability relates to how easy the software is to use; this is described in
efficiency and effectiveness.
17. Explain portability in terms of non-functional requirements.
The portability of the software relates to how easily it can show up in
different operating systems’ environments. This can include measuring
how easy it is to reinstall a program.
18. Why are software requirements specifications written?
Software requirements specifications are written to contain the outcomes
of the analysis stage in the problem-solving methodology. They are also
made to refer to when developing the software.
19. What is contained within an SRS?
An SRS contains the constraints of the software solution, the scope
created with the client and functional and non-functional requirements of
the solution.
20. What is the purpose of a use case diagram?
A use case diagram is a method of describing how the user is expected to
interact with the software. This is made in UML (unified modelling
language) so the user can see visually.
21. What is the purpose of a context diagram?
A context diagram is a visual representation of all of the data that goes in
and out in a software solution. There are there symbols in us case
diagrams with represent these data flows.
22. What is the purpose of a data flow diagram?
A data flow diagram represents a single piece of data as it moves in and
out of the software, it is represented in a context diagram with solid lines.
23. Explain the difference between include and extend in a use
case diagram.
When include is used it indicates that one use case is included into
another, they shown through dotted lines in the diagram. Extend is used
that one use case can sometimes be included in another.
24. Explain the difference between an association and a
generalization in a use case diagram.
Association is a type of relationship that explains the connections between
elements within the use case diagram. Represented with solid lines.
Generalization indicates a type of inheritance. Represented with a solid
straight line with a closed arrow head.
25. How does a process differ between context diagrams and
data flow diagrams?
A process is a representation of the whole system that has been created. It
is very complex. A data flow represents a logical connection of data as it
moves in and out of a system
26. A proposed food ordering system has two types of users: a
chef and a server. The server places food orders given to them by
customers. A chef confirms orders and flags them as cooked so a
server knows they can take the food to the customer. Once a
server has delivered the food to the customer, they remove the
order from the queue.
A. Draw a use case diagram to represent this system.
Flag Confirm
order order
<<includes>>
Chef
Place
Server order
Remove
Deliver
order
food
<<extend>>
b. Draw a context diagram to represent this system.
Places order
Makes order and
confirms it
Notifies that food
Food
Server is ready
ordering
system
Chef
Delivers food and
Notifies chef of
removes order
order
c. Draw a data flow diagram to represent this system.
-----------------
Order placed
-----------------
server
Chef