Process-Oriented Design
Automated Support Tools for Process-Oriented Design
Automated support in the form of CASE tools is also available, although fewer products support structured design than support structured analysis. Several entries provide Lower CASE support that begins with program specification or code generation (see Table 8-9).
TABLE 8-8 ABC Example Get Valid Customer Program Specification |
---|
Identification: Get Valid Customer, (ValidCus) Purpose: Retrieve Customer Record and verify credit worthiness Characteristics: Focus Included module References: See System Specification, Pseudo-code for CustMain DFD: Attached as Appendix 1 Structure Chart: Attached as Appendix 2 Narrative: Accept CPhone Read Customer Using CPhone If read is successful If CCredit Ie '1' continue else Display "Customer has a credit problem; rating = <CCredit" Display "Override or cancel? : <&Custcredit" If &Custcredit eq 'C' include Cancel Return else If &Custcredit eq '0' continue else include crediterr return else Include CreatCus. Set &&ValidCus to 'Yes'. Set global customer data to values for all fields. Return. Screen Interface Screen Design: None Dialog Design: None Error Messages: "Customer has a credit problem; rating = <CusCredit" "Override or cancel? : <&Custcredit" Application Interface None Input: Customer File User views Customer Internal data names: Customer Contents in Data Dictionary Tables and Internal Data Global fields correspond to all Customer File fields. Set all fields to customer record values upon successful processing. Reports: None |
TABLE 8-8 ABC Example Get Valid Customer Program Specification (Continued)
Appendix 3: User View with Data Names
Table Customer | State | Char(2) | Not null, | ||
---|---|---|---|---|---|
(Cphone | Char(lO) | Not null, | Zip | Char(lO) | Not null, |
Clast | VarChar(50) | Not null, | CCtype | Char(l) | Not null, |
Cfirst | VarChar(25) | Not null, | Ccno | Char(l7) | Not null, |
Clinel | VarChar(50) | Not null, | Ccexp | Date | Not null, |
Cline2 | VarChar(50) | Not null, | CCredit | Char(l), | |
City | VarChar(530) | Not null, | Primary key | (Cphone)); |
Product | Company | Technique |
---|---|---|
Analyst/Designer Toolkit Anatoool, Blue/60, MacDesigner The Developer Excelerator IEW,ADW (PS/2 Version) Maestro MacAnalyst, MacDesigner Multi-Cam |
Yourdon, Inc. New York, NY Advanced Logical SW Beverly Hills, CA ASYST Technology, Inc Napierville, IL Index Tech. Cambridge, MA Knowledgeware Atlanta, GA SoftLab San Francisco, CA Excel Software Marshalltown, LA AGS Mgmt Systems King of Prussia, PA |
Structure Chart Structure Charts Structured English Structure Chart Operations Process Diagram Systems Flowchart Structure Chart Flowchart Structure Chart Nassi-Schneiderman Hierarchical input-process-output charts (HIPO) User Defined Functions Decision Table Structured English Structure Chart Structure Chart |
If one were to do an internet search of each tool listed in Table 8-9, one would find some tools widely used in the late 1980s and early 1990s for creating structure or programming flow diagrams. Today, several decades later, those tools are little known or used, and 'newer' tools are used for creating static and dynamic model diagrams to support design. 'Newer' is a relative perspective; current support tools for software design have added support for UML diagrams, analysis, code generation, team collaboration and communication, and integration with other phases of the SDLC.
Current example tools are:
- Microsoft Visio - for creating and presenting design diagrams
- IBM Rational Rose Architect - a CASE (Computer Aided Software Engineering) tool for design and implementation
- Microsoft Visual Studio - IDE (Integrated Development Environment) for transitioning design to code in a team collaborative environment
- Eclipse - IDE for transitioning design to code in a team collaborative environment