System Analysis and Design System Implementation - Mr. Ahmad Al-Ghoul learning Objectives Explain the steps in Drawing a Structure Chart Describe other structured development tools Avicenna System Analysis and Design System Implemantation 2 Structured Application Development Structure Chart Example Sample of a sales promotion policy with logical rules, and a structured English version of the policy. [1] Avicenna System Analysis and Design System Implemantation 3 Structured Application Development Structure Chart Example The Figure below shows the initial design for a structure chat based on the sales promotion policy that was described in structured English in the previous slide. The module named Process Sales Promotion Actions is a control module with four subordinate modules. The curved arrow indicates that, read customer record is repeated until finished all customer records Data couples and control couple have not been added The loop symbol, represents repetitive processing. Initial design for a structure chart based on the sales promotion policy Avicenna System Analysis and Design System Implemantation 4 Structured Application Development Drawing a Structure Chart Avicenna If you used a structured analysis method, your structure charts will be based on the DFDs you created during data and process modeling, you should review data flows and the data dictionary If you used Object-Oriented analysis method, your structured charts will based on object models, you should review the class diagrams and object relationship diagrams System Analysis and Design System Implemantation 5 Structured Application Development To draw a structure chart you must follow the four following steps Step 1: Review the DFDs Review all DFDs for accuracy and completeness, especially if changes have occurred since the system analysis phase If object models also were developed, you should analyze them to identify the objects, the methods, and the relationships among the objects. Avicenna A method is similar to a functional primitive, and requires code to implement the necessary actions System Analysis and Design System Implemantation 6 Structured Application Development Steps in Drawing a Structure Chart Step 2: Identify Modules and Relationships Transform functional primitives or object methods into program modules Each DFD level represents a processing level You would work your way down from the context diagram to the lower level diagram, identifying control modules and subordinate modules, until you reach functional primitives If more cohesion is desired, you can divide processes into smaller modules that handle a single task Avicenna System Analysis and Design System Implemantation 7 Structured Application Development Steps in Drawing a Structure Chart Step 3: Add Couples, Loops, and Conditions If you working with DFDs, you can review the data flows and the data dictionary to Identify the data elements that pass from one module to another Add control couples where a module is sending a control parameter, or flag, to anther module Add loops and condition lines that indicate repetitive or alternative processing steps If you used Object-Oriented analysis, you can review the class diagrams and object relationship diagrams. Avicenna System Analysis and Design System Implemantation 8 Structured Application Development Steps in Drawing a Structure Chart Step 4: Analyze the Structure Chart and the Data Dictionary Ensure that the chart reflects all previous documentation and that the logic is correct You should check each process, data element, or object method You should determine that modules are strongly cohesive and loosely coupled Avicenna System Analysis and Design System Implemantation 9 Structured Application Development Structure Chart Example We studied this diagram before in the analysis chapter, diagram 0 consist of 3 functions FILL ORDER, CREATE INVOICE, and APPLY PAYMENT Level 1 DFD for process1, shows details of the FILL ORDER process in the order system. The FILL ORDER consists of three processes, VERIFY ORDER, PREPARE REJECT NOTICE, and ASSEMBLE ORDER DFDs for a sample Order System. The top DFD is Diagram 0; under it is Diagram 1. Avicenna System Analysis and Design System Implemantation 10 Structured Application Development Structure Chart Example we take our way down from the context digarm to the lower level diagram so the first control module is order system module you can see, order system module is a control module with a condition line that triggers one of three subordinate modules Then you can see the fill order control module, fill order module is a control module with a condition line Also you can see a fill order module sends a rejected order flag to prepare reject notice module A structure chart based on the Order System DFDs shown in the pervious slide. Avicenna System Analysis and Design System Implemantation 11 Structured Application Development Other Structured Development Tools Program Flowcharts The pictorial representation of the programs or the algorithm is known as flowcharts. It is nothing but a diagrammatic representation of the various steps involved in designing a system. Program flowcharts graphically represent the logic and interaction between program modules Avicenna System Analysis and Design System Implemantation 12 Structured Application Development Program Flowcharts A flowchart consists of a set of ‘flowchart symbols’ connected by arrows. Each symbol contains information about what must be done at that point & the arrow shows the ‘flow of execution’ of the algorithm i.e. the arrows show the order in which the instructions must be executed. The purpose of using flowcharts is to graphically present the logical flow of data in the system and defining major phases of processing along with the various media to be used. Avicenna System Analysis and Design System Implemantation 13 Structured Application Development Flow chart example consider the rules associated with paying commission in company X. showing below in structured English For each commission earned If extra bonus equal y If payment total is greater than 50000$ Add 2% to commission percent Output special letter Output award list Else Add 1% to commission percent Output award list Else If payment total is greater than 50000$ Add 1% to commission percent Output special letter Calculate commission = commission percent times payment total Avicenna System Analysis and Design System Implemantation 14 Structured Application Development The Figure above shows A program flowchart shows the logic needed to calculate commissions and perform related tasks based on the structured English in the previous slide Avicenna System Analysis and Design System Implemantation 15 Structured Application Development Other Structured Development Tools Pseudocode: Pseudocode is a technique for representing program logic. Avicenna Pseudocode can be used to describe an algorithm. Although pseudocode resembles structured English (SE) in using a restricted subset of English, it may be coded and more closely resemble a programming language. Whereas SE is a useful tool when analysts communicate with end – users, pseudocode is oriented towards analyst – programmer communication, describing program logic, using program construction. Using pseudocode, a system analyst or a programmer can describe program actions they can implement in any programming language System Analysis and Design System Implemantation 16 Structured Application Development Pseudocode example When comparing between the structured English example and the pesudocode one you can notice that the pesudocode is programmer oriented you can see statements like open files read commission record, the end if’s, print statement, close program and end the program An example of pseudocode that documents the logical steps in the sales commission SE shown in slide number 14. Avicenna System Analysis and Design System Implemantation 17 Sequence Summary Typically, you follow four steps when you create a structure chart You review DFDs and object models to identify the processes and methods, identify the program modules and determine the control-subordinate relationships, add symbols for couples and loops, and analyze the structure chart to ensure that it is consistent with your system documentation flowchart is nothing but a diagrammatic representation of the various steps involved in designing a system. A flowchart consists of a set of ‘flowchart symbols’ connected by arrows. Pseudocode is a technique for representing program logic. pseudocode is oriented towards analyst – programmer communication, describing program logic, using program construction. Avicenna System Analysis and Design System Implemantation 18 Sequence Summary In this Sequence we have Explained the steps needed to draw a structure chart Defined and explained program flowcharts Defined and explained Pseudocode Avicenna System Analysis and Design System Implemantation 19 Reference [1] System Analysis and Design, Sixth Edition Authors: Gary B. Shelly, Thomas J. Cashman and Harry J. Rosenblatt Publisher: SHELLY CASHMAN SEWIES. Avicenna System Analysis and Design System Implemantation 20