Sunteți pe pagina 1din 4

Software Design Notations

Design Model

Documenting the software blueprint

Procedural design Interface design Architectural design

Data design

TCS2411 Software Engineering

TCS2411 Software Engineering

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

Data Design Tasks


Database/File design
Extension of Entity-Relationship Diagram Entities Tables Attributes Columns Relationships Columns, Tables Describe database tables / files as follows:

Architecture design Interface design


Screen design Report design

Procedural design
TCS2411 Software Engineering 3 TCS2411 Software Engineering 6

Data Design Tasks

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

TCS2411 Software Engineering

TCS2411 Software Engineering

10

Data Design Tasks

Hierarchy of Modules
Process File Program

Read File

Process Record

Generate Report

Print Record
TCS2411 Software Engineering 8 TCS2411 Software Engineering

Print Error
11

Data Design Tasks (Continued)


Data structure design
Arrays, structures/records, stacks, etc. Describe structure and its use Describe contents in similar way to database tables/files

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

Check Record c2 Print Record o c3 Print Error o

Read File c1: not eof c2: record ok c3: error

TCS2411 Software Engineering

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

Program Design Language(PDL)


if condition x then process a; else process b; endif PDL

Example of N-S Chart/ Box Diagram Constructs


First task Next task Next + 1 task Sequence F Condition T Elsepart Thenpart Loop condition Do-whilepart Repeatuntilpart

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

Example of Pseudocode or PDL


Process File Procedure Read file While not end-of-file If record ok then Print record Else Print error End if Read file End While End
TCS2411 Software Engineering 20

Nassi-Shneiderman (N-S) charts/ Box Diagram Characteristics


Functional domain (i.e. the scope of repetition or if-then-else) is well defined and clearly visible as a pictorial representation Arbitrary transfer of control is impossible The scope of local and/or global data can be easily determined Recursion is easy to represent, where depicted with a bounding pattern that encloses the process (do-while part or repeat-until part) to be repeated.
TCS2411 Software Engineering 23

Why Program Design Language?


can be a derivative for the HOL (High Order Logic) of choice, e.g., Ada PDL machine readable and processable can be embedded with source code, therefore easier to maintain can be represented in great detail, if designer and coder are different easy to review
TCS2411 Software Engineering 21

References
Software Engineering: A Practitioners Approach 5th Ed. by Roger S. Pressman, McGraw-Hill, 2001 Software Engineering by Ian Sommerville, Addison-Wesley, 2001

TCS2411 Software Engineering

24

S-ar putea să vă placă și