MSc-IT Study Material
January 2011 Edition

Computer Science Department, University of Cape Town
| MIT Notes Home | Edition Home |

Review

Questions

Review Question 1

Contrast analysis and design. How are they similar, how do they differ?

A discussion of this question can be found at the end of this chapter.

Review Question 2

What role do models play in analysis and design?

A discussion of this question can be found at the end of this chapter.

Review Question 3

Briefly outline the various properties of a model.

A discussion of this question can be found at the end of this chapter.

Answers

Discussion of Review Question 1

Analysis and design are related activities, concerned with (respectively) what the problem is, and how it will be resolved. Because of this relationship, many of the modelling techniques used in analysis are themselves used in design, and vice versa.

One large difference between them is that analysis does not consider any implementation details: it is merely concerned with description of existing problems. Analysis produces a specification of the existing problem or the existing solution to the problem.

Design itself can begin as a description of a solution to the problem, but will progress into implementation details. It also produces a specification, but this specifies the solution to the problem.

Discussion of Review Question 2

Models provide one of the primary means of communication of information during software engineering, especially during the activities of analysis and design. They allow us to simplify the information we wish to convey, and thus can highlight specific portions of the software system, such as the static data design (class model), user interactions (use-case diagrams) and the flow of data (data-flow diagrams). They are a tool for abstraction (see Chapter 7, Design).

Discussion of Review Question 3

Models have the following properties:

  • they consider only part of the system, focusing on particular aspects of the system

  • they help to organise the analyst's ideas

  • if the customer is able to understand the model, and is able to provide feedback on it

  • omissions and errors should be easy to identify

  • designers and programmers can produce the system from the models