Documente Academic
Documente Profesional
Documente Cultură
Design Model
Data design
Lecture Objectives
To describe the tasks in producing and document the software design To understand the systematic approach in producing the different levels of the software design To illustrate the different notations that can be used to draw the design
TCS2411 Software Engineering 2
Data Design
Select logical representations of data objects (data structures) identified during requirements definition and specification Well-designed data can lead to better program structure and modularity, and reduced procedural complexity
TCS2411 Software Engineering 5
Software Design
Next milestone, due on Week 9 Data design
Database/File design Data structure design
Procedural design
TCS2411 Software Engineering 3 TCS2411 Software Engineering 6
Architecture design
Develop a modular program structure and represent the control relationship between modules Can be represented by
Hierarchy of modules Structure chart Structure diagram
10
Hierarchy of Modules
Process File Program
Read File
Process Record
Generate Report
Print Record
TCS2411 Software Engineering 8 TCS2411 Software Engineering
Print Error
11
Structure Chart
Process File Program record eof Read File record Process Record error record no. of errors Generate Report
no. of records
Print Record
TCS2411 Software Engineering 9 TCS2411 Software Engineering
Print Error
12
Structure Diagram
Process File Program while c1 Read File Process * Record Generate Report
Structured Programming
Set of logical constructs from which any program can be formed: Sequence, Condition, Repetition Limit procedural design to small number of predictable operations Enter at top, exit at bottom Reduce complexity, easier to understand and maintain Program separated into logical chunks
13 TCS2411 Software Engineering 16
Interface design
Screen design
For text-based screens, can use design forms Format: 25 rows x 80 characters For GUI, can use Print Screen
Flowchart Constructs
Report design
For text-based reports, e.g. dot-matrix printers, use design forms (80 or 132 columns) For graphical reports, use Print Screen
TCS2411 Software Engineering 14 TCS2411 Software Engineering 17
Procedural design
Details of how modules work Define algorithmic details Possible to use natural language Structured form: pseudocode, or PDL (Program Design Language), also called structured English Clearer with graphical methods such as Flowchart Nassi-Schneiderman chart (N-S chart), box diagram
TCS2411 Software Engineering 15 TCS2411 Software Engineering 18
if-then-else
easy to combine with source code machine readable, no need for graphics input graphics can be generated from PDL enables declaration of data as well as procedure easier to maintain
Loop condition Repetition Case Condition Value Value .. Case- Case- .. part part Selection
22
If-then-else
TCS2411 Software Engineering 19 TCS2411 Software Engineering
References
Software Engineering: A Practitioners Approach 5th Ed. by Roger S. Pressman, McGraw-Hill, 2001 Software Engineering by Ian Sommerville, Addison-Wesley, 2001
24