Modern Systems Analysis and Design Fourth Edition Jeffrey























- Slides: 23
Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 13 Finalizing Design Specifications © 2005 by Prentice Hall
Learning Objectives ü Discuss how design specifications vary based on system development methodology. ü Define quality requirements and write quality requirement statements. ü Read and understand a structure chart. ü Explain the roles of prototyping and CASE tools in design specifications. ü Discuss the application of design specifications to Agile Methodologies. 13 -2 © 2005 by Prentice Hall
13 -3 © 2005 by Prentice Hall
The Process of Finalizing Design Specifications Less costly to correct and detect errors during the design phase Two sets of guidelines: n n The quality requirements statements The quality requirements themselves Deliverable: a set of design specifications for the entire system, with detailed functional descriptions of each system component 13 -4 © 2005 by Prentice Hall
Characteristics of Quality Requirement Statements Correct: accurately describe functionality to develop Feasible: possible within time and resource constraints Necessary: something the users really need Prioritized: ranked based on level of importance Unambiguous: clear to anyone who reads the description Verifiable: possible to determine if requirement has been met 13 -5 © 2005 by Prentice Hall
Characteristics of Quality Requirements Complete: not missing any key description information Consistent: does not conflict with other requirements Modifiable: easily changed, with a history kept of changes Traceable: to its original source 13 -6 © 2005 by Prentice Hall
Design Specification Document Contains: n n n 13 -7 Overall system description Interface requirements System features Nonfunctional requirements Other requirements Supporting diagrams and models © 2005 by Prentice Hall
Computer-based requirements management tools make it easier to keep documents up to date, additional requirements and link related requirements 13 -8 © 2005 by Prentice Hall
Structure Chart A hierarchical diagram that shows how an information system is organized: n n n 13 -9 Shows how an information system is organized in hierarchical models Shows how parts of a system are related to one another Shows breakdown of a system into programs and internal structures of programs written in third- and fourthgeneration languages © 2005 by Prentice Hall
Structure Chart Symbols Structure chart is composed of modules, selfcontained system components defined by their function. Modules are functions or subroutines in the resulting computer program. 13 -10 © 2005 by Prentice Hall
Structure Chart Symbols Data couple: diagrammatic representation of data exchanged between two modules 13 -11 Flags and data couples are parameters and return values in the resulting computer program. © 2005 by Prentice Hall Flag: diagrammatic representation of a message passed between two modules
Structure Chart Symbols Conditional calls: only one of the subordinates is called. Conditional call is implemented by an IF statement in the computer program. 13 -12 © 2005 by Prentice Hall
Structure Chart Symbols Repetitive calls: subordinates are called repeatedly until terminating condition is met. 13 -13 © 2005 by Prentice Hall
Structure Chart Symbols Predefined module: function is dictated by a preexisting part of the system. 13 -14 © 2005 by Prentice Hall
Structure Chart Symbols Embedded module: subordinate module is important logically but code is contained in superior module. 13 -15 © 2005 by Prentice Hall
Order of execution is basically left-to-right, depth first. You use the returned data couple from the left module as you go to the right module. 13 -16 © 2005 by Prentice Hall
Because of redundancy of Validate Data module, the order of sub-module calls for Get Valid B is right to left. Again, the received data couple B from Read B is subsequently sent to Validate Data. 13 -17 © 2005 by Prentice Hall
Pseudocode Method used for representing the instructions inside a module Language similar to computer programming code Two functions: n n 13 -18 Helps analyst think in a structured way about the task a module is designed to perform Acts as a communication tool between analyst and programmer © 2005 by Prentice Hall
Evolutionary Prototyping Begin by modeling parts of the target system. If successful, evolve remaining system from prototype. Prototype becomes actual production system. Often, difficult parts of the system are prototyped first. Exception handling must be added to prototype. 13 -19 © 2005 by Prentice Hall
Throwaway Prototyping Prototype is not preserved. It is developed quickly to demonstrate unclear aspect of system design. CASE tools aid this approach, 13 -20 © 2005 by Prentice Hall
Agile Methodologies Requirements functional design code Design specifications come from code instead of verbal text descriptions Example: e. Xtreme Programming’s Planning Game n Two techniques: w Simple design: uncomplicated program component to solve current (not anticipated) problem w Refactoring: make a program simpler after adding a new feature 13 -21 © 2005 by Prentice Hall
Factors Distinguishing Agile and Traditional System Development Agile Traditional Size Smaller Larger Criticality Better for low critical Better for highly critical Dynamism High dynamism High stability Personnel Experts needed throughout Experts only needed earlier Culture High degree of freedom Well-established procedures 13 -22 © 2005 by Prentice Hall
Summary In this chapter you learned how to: ü ü ü 13 -23 Discuss how design specifications vary based on system development methodology. Define quality requirements and write quality requirement statements. Read and understand a structure chart. Explain the roles of prototyping and CASE tools in design specifications. Discuss the application of design specifications to Agile Methodologies. © 2005 by Prentice Hall