Class Notes (836,859)
Canada (509,932)
York University (35,328)
ITEC 3010 (26)
all (20)
Lecture

lecture_9 notes.doc

8 Pages
100 Views
Unlock Document

Department
Information Technology
Course
ITEC 3010
Professor
All Professors
Semester
Winter

Description
Systems Analysis and Design I ITEC3010 – Fall 2010 – Luiz Cysneiros Lecture 9 – Design – Nov 16 The Structure Chart - Structure chart o A hierarchical diagram showing the relationships between the modules of a computer program o The objective of structured design is to create a top-down decomposition of the functions to be performed by a given program in a system – use a structure chart to show this o E.g. shows functions and sub functions (such as Calculate base amount, Calculate overtime amount etc.) o Uses rectangles to represent each such module (the basic component of a structure chart o Higher-level modules are “control” modules that control flow of execution (call lower level modules which are the “worker bee” modules that contain program logic) The Structure Chart Characteristics - Structure chart is based on the idea of modular programming (and top-down programming) o Breaking a complex problem down into smaller modules o Modules are well formed with high internal cohesiveness and minimum data coupling o Vertical lines connecting the modules indicate calling structure o Little arrows next to the lines show the data passed between modules (inputs and outputs)  Data couples: individual items that are passes between modules  Program call: the transfer of control from a module to a subordinate module to perform a requested service (can be implemented as e.g. a function or procedure call) Structure Chart Symbols - Rectangles represent modules o Can represent a function (e.g. C), a procedure (e.g. Pascal), a paragraph (e.g. COBOL) , subroutine (e.g. FORTRAN) etc. o Rectangle with double bars represents a module used several places (optional) - Little arrows with open circles represent data couples - Little arrows with closed circles represent control couple flag (e.g. end of file flag) - Curved arrows immediately below a boss module represents iteration (looping) - Darkened diamond represents a conditional call to lower modules Notes on Structure Chart - Each module does a very specific function - Module at top of the tree is the boss module o Function is to call modules on level below, pass information to them - Middle level modules control the modules below o Call them and pass data - At the very bottom, the leaves contain the actual algorithms to carry out the program functions - Call of modules is left to right across the tree Developing a Structure Chart - Transaction analysis o The development of a structure chart based on a DFD that describes the processing for several types of transactions o Uses as input the system flow chart and the event table to develop the top level of the tree in a structure chart - Transform analysis o The development of a structure chart based on a DFD that describes the input-process-output data flow o Used to develop the subtrees in a structure chart – one for each event in the program Transaction Analysis - First step is to identify the major programs o Can do it by looking at the system flow chart and identifying the major programs - For a subsystem or program we want to make a structure chart for, we can look at the event-partitioned DFD to identify the major processes o These major processes will become the modules in the resulting high level structure chart (see slide after that) - Based on the idea that computer program “transforms” input data into output data - Structure charts developed with transform analysis usually have 3 main subtrees o Input subtree to get data o A calculate subtree to perform logic o An output subtree to write the results - Can create it rearranging elements from o DFD fragment for an event (e.g. “create new order”) o The detailed DFD for that event - E.g. see next two slides for “create new order” DFD fragment, and its corresponding detailed DFD Steps for Creating the Structure Chart from the DFD - Identify the primary information flow - Find the process that represents the most fundamental change from an input stream to an output stream – the central transform o Afferent data flow: the incoming data flow in a sequential set of process bubbles o Efferent data flow: the outgoing data flow from a sequential set of process bubbles o Central transform: the central processing bubbles in a transform analysis type of data flow - In our example, the record (build) order process is the central process - Redraw the data flow diagram (DFD) with o The inputs to the left o The central transform process in the middle o The outputs to the right o The parent process (top level – e.g. “Create new order”) above the central transform process (e.g. “Build order”) - Generate the first-draft structure chart including data couples (directly from our rearranged DFD on the previous slide) - Add other modules as necessary to o Get input data via the user-interface screens o Read and write to the data stores o Write output data or reports - These are lower level modules (utility modules) - Also add data couples - Using structured English or decision table documentation, add any other required intermediate relationships (e.g. looping and decision symbols) - Make the final refinements to the structure chart based on quality control concepts (to be discussed) Combining the Top-Level Structure Chart with the Chart Developed by Transaction Analysis - Basically “glue” the diagram we made (high-level) using transaction analysis on top of the more detailed diagram (for lower-processing) we just made using transform analysis Evaluating the Quality of a Structure Chart - Module coupling o The manner in which modules relate to each other - Desirable to have loosely coupled modules o Have modules as independent as possible o Module does not need to know who invoked it o Best coupling is through simple data coupling  The module is called and a specific set of data items is passed  Module function performs its function and returns the output - Cohesion o Refers to the degree to which all of the code within a module contributes to implementing one well-defined task - Desirable to have modules with high cohesion implementing a single function o Modules that implement a single task tend to have relatively low coupling because all of their internal code acts on the same data item(s) o Modules with poor cohesion tend to have high coupling because loosely related tasks are typically performed on different data items across modules o A flag passed down the structure chart is an indicator of poor cohesion Module Algorithm Design: Pseudocode - Next requirement o Describe the internal logic within each module o Three methods  Flow charts  Structured English  Pseudocode (variation of structured English similar to programming language that will be used – e.g. COBOL like or C like pseudocode) Designing the Application Architecture: The Object-Oriented Approach - Object-oriented design models provide the bridge between the object-oriented analysis models and the object-oriented programs - Object-oriented programs o Basic concept: the program consists of a set of program objects that cooperate to accomplish a result o Objects work together by sending messages o Example: in a graphical user interface (GUI) windows and menus are objects. If you click on a window object a message is sent to display itself (e.g. window, a menu bar etc.) Differences between Object Oriented and Traditional Approaches - In traditional computer environments there is some sort of central control o E.g. a mainframe computer may be connected to thousands of terminals and controls them centrally o No terminal does work unless directed to by the mainfr
More Less

Related notes for ITEC 3010

Log In


OR

Join OneClass

Access over 10 million pages of study
documents for 1.3 million courses.

Sign up

Join to view


OR

By registering, I agree to the Terms and Privacy Policies
Already have an account?
Just a few more details

So we can recommend you notes for your school.

Reset Password

Please enter below the email address you registered with and we will send you a link to reset your password.

Add your courses

Get notes from the top students in your class.


Submit