SE Sample Answers
SE Sample Answers
Sample Answers
1. What are the most important differences between generic software
product development and custom software development? What might
this mean in practice for users of generic software products?
3. Explain why there are fundamental ideas of software engineering that
apply to all types of software systems.
4. Giving reasons for your answer based on the type of system being
developed, suggest the most appropriate generic software process
model that might be used as a basis for managing the development of
the following systems:
a) A system to control anti-lock braking in a car
b) A virtual reality system to support software maintenance
c) A university accounting system that replaces an existing
system
d) An interactive travel planning system that helps users plan
journey with the lowest environment impact
7. Explain how the principles underlying agile methods lead to the
accelerated development and development of software.
8. When would you recommend against the use of an agile method for
developing a software system? Explain your answer.
12. You have been asked to develop a system that will help with planning
large-scale events and parties such us weddings, graduation
celebrations, birthday parties, etc.
(a) Modeling entities and their relationships which are involved in
planning events and parties using a UML class diagram.
(b) Modeling the process context for such a system that shows the
activities involved in planning a party (booking a venue,
organizing invitations, etc.), using a UML activity diagram.
3. Draw a UML class diagram showing a conceptual view and draw a
UML sequence diagram showing a process view of the architecture of
ONE of the following systems:
· An automated ticket-issuing system used by passengers at a
railway station
· A computer-controlled video conferencing system that allows
video, audio and computer data to be visible to several
participants at the same time.
· A robot floor cleaner that is intended to clean relatively clear
spaces such as corridors. The cleaner must be able to sense
walls and other obstructions.
7. Using the UML graphical notation for object classes, design the
following object classes, identifying attributes and operations. Use
your own experience to decide on the attributes and operations that
should be associated with these objects:
· A telephone
· A printer for personal computer
· A personal stereo system
· A bank account
· A library catalog
8. Identify possible objects in ONE of the following systems and develop
an object-oriented design for them. Using a UML class diagram and
associated explanation to show your design. You may make many
reasonable assumptions about the system when deriving the design.
· A group diary and time management system is intended to
support the timetabling of meetings and appointments across
a group of co-workers. When an appointment is to be made
that involves a number of people, the system finds a common
slot in each of their diaries and arranges the appointment for
that time. If no common slots are available, it interacts with the
user to rearrange his or her personal diary to make room for
the appointment.
9. For the Observer design pattern described in the textbook, describe a
real-world or example application which should be design using the
pattern.
11. It states that “testing can only detect the presence of error, not their
absence”. Do you agree with this statement? If yes, explain why. If
not, use an example to show how?
13. What is regression testing? Explain how the use of automated tests
and a testing framework such as JUnit simplifies regression testing.
15. Briefly describe the three main types of software maintenance. Use
examples to explain why it sometimes difficult to distinguish between
them?