System Analysis and Design System Implementation Mr Ahmad

  • Slides: 20
Download presentation
System Analysis and Design System Implementation - Mr. Ahmad Al-Ghoul

System Analysis and Design System Implementation - Mr. Ahmad Al-Ghoul

learning Objectives n explain a structure chart showing top-down design, modular design, cohesion, and

learning Objectives n explain a structure chart showing top-down design, modular design, cohesion, and coupling System Analysis and Design Avicenna System Implemantation 2

Structured Application Development n Structure Charts Structure charts show the program modules and the

Structured Application Development n Structure Charts Structure charts show the program modules and the relationships among them n Control module: In a structure chart, a control module is a higher-level module that directs lower-level modules, called subordinate modules. n Subordinate modules: A lower-level module in a structure chart. n System Analysis and Design Avicenna System Implemantation 3

Structured Application Development Structure Charts n Module n A self-contained component of a system,

Structured Application Development Structure Charts n Module n A self-contained component of a system, defined by a function n One single coordinating module at the root of structure chart n Single point of entry and exit n Communicate with each other by passing parameters n library module: In a structure chart, a library module is a module that is reusable and can be invoked from more than one point in the chart. System Analysis and Design Avicenna System Implemantation 4

Structured Application Development Data and control passed between structure chart modules is either a:

Structured Application Development Data and control passed between structure chart modules is either a: n n Data couple, A diagrammatic representation of the data exchanged between two modules in a structure chart n passing only data, shown as an arrow with an empty circle. Control couple n n shown as an arrow with a filled-in circle. In a structure chart, a control couple shows a message, also called a flag, which one module sends to another. n A module uses a flag to signal a specific condition or action to another module System Analysis and Design Avicenna System Implemantation 5

Structured Application Development n n Control modules make the decisions about which lower-level modules

Structured Application Development n n Control modules make the decisions about which lower-level modules should be executed. Lower-level modules are functional, performing only one task. Systems analysts should keep the number of couples to a minimum. n The fewer data couples and control flags one has in the system, the easier it is to change the system. System Analysis and Design Avicenna System Implemantation 6

Structured Application Development The update customer file module sends an account overdue flag back

Structured Application Development The update customer file module sends an account overdue flag back to the maintain customer data module An example of a structure chart control couple. System Analysis and Design Avicenna System Implemantation The look up customer name module exchanges data with the maintain customer data module An example of a structure chart data couple. 7

Structured Application Development n Structure Charts – Notation Modules Library modules Module call Data

Structured Application Development n Structure Charts – Notation Modules Library modules Module call Data Flag System Analysis and Design Avicenna System Implemantation 8

Structured Application Development Structure Charts n Condition: n n A line with diamond on

Structured Application Development Structure Charts n Condition: n n A line with diamond on one end presents a condition A specified action or state in a structure chart. A condition line indicates that a control module determines which subordinate modules will be invoked, depending on a specific condition Sort inventory parts is a control module with a condition line that triggers one of the three subordinate modules An example of a structure chart condition and condition lines. System Analysis and Design Avicenna System Implemantation 9

Structured Application Development Structure Charts n Loop: n n n A curved arrow represents

Structured Application Development Structure Charts n Loop: n n n A curved arrow represents a loop In a structure chart, a loop indicates that one or more modules are repeated. The get student grades and calculate GPA modules are repeated for each student An example of a structure chart loop. System Analysis and Design Avicenna System Implemantation 10

Structured Application Development n In order to choose among alternatives when dividing systems into

Structured Application Development n In order to choose among alternatives when dividing systems into modules, it useful to evaluate the connection between them. If there are few or no connections between modules, then it is easier to understand one module without reference to others. The notion of module independence can be described in terms of ‘coupling’ and ‘cohesiveness’. These concepts were introduced by Edward Yourdon and Larry Constantine who are concerned with ‘goodness’ of design. System Analysis and Design Avicenna System Implemantation 11

Structured Application Development n n Coupling: Coupling measures relationships and interdependence among modules. Coupling

Structured Application Development n n Coupling: Coupling measures relationships and interdependence among modules. Coupling is the strength of relationships between modules (the degree to which modules are interconnected with or related to one another). The stronger the coupling between modules in a system, the more difficult it is to implement and maintain the system, because a modification to one module will then necessitate careful study, as well as possible changes and modifications, to one or more other modules. In practice, this means that each module should have simple, clean interface with other modules, and that the minimum number of data elements should be shared between modules. System Analysis and Design Avicenna System Implemantation 12

Structured Application Development n Loosely coupled: Modules that are relatively independent. Loosely coupled modules

Structured Application Development n Loosely coupled: Modules that are relatively independent. Loosely coupled modules are easier to maintain and modify, because the logic in one module does not affect other modules. n Tightly coupled: If modules are tightly coupled, one module refers to internal logic contained in another module. System Analysis and Design Avicenna System Implemantation 13

Structured Application Development n n n This figure shows two examples of coupling In

Structured Application Development n n n This figure shows two examples of coupling In the tightly coupled example, the subordinate module, Calculate Current Charges, depends on a status flag that is receives from control module, Update Customer Balance. The loosely coupled modules on the left are logically independent. Rather than passing flag down to the subordinate module, the control module allows the Apply Discount module to handle discount processing independently. Logic errors, if any, are confined to the Apply Discount module, where they can be detected and resolved. An example of loosely coupled and more easily tightly coupled structure charts. System Analysis and Design Avicenna System Implemantation 14

Structured Application Development n Cohesion: Cohesion measures a module's scope and processing characteristics. n

Structured Application Development n Cohesion: Cohesion measures a module's scope and processing characteristics. n n n Cohesion is the measure of the strength among the elements in the same module (the degree to which the components of a module are necessary and sufficient to carry out one, single, well defined function). In practice, this means that the systems designer must ensure that they does not split essential processes into fragmented modules and the systems designer must ensure that they does not gather together unrelated processes (represented as processes on the DFD) into meaningless modules. The best modules are those that are functionally cohesive. The worst modules are those that are coincidentally cohesive. High cohesiveness occurs when all of the module parts contribute directly to the purpose or function which the module is supposed to accomplish. n If you need to make a module more cohesive, you can split it into separate units, each of which performs a single function System Analysis and Design Avicenna System Implemantation 15

Structured Application Development n n In the figure below the task called Check Customer

Structured Application Development n n In the figure below the task called Check Customer Status actually consists of two separate tasks: Check Customer Number and Check Customer Credit Limit. Notice that the figure with one module is less cohesive than the figure with the two modules, because it combines the two tasks into a single module, while the other figure treats them as separate modules, you achieve more cohesion and better program quality An example of structure chart cohesion. System Analysis and Design Avicenna System Implemantation 16

Structured Application Development n advantages Structure Charts: n n Modularity improves system maintainability Provides

Structured Application Development n advantages Structure Charts: n n Modularity improves system maintainability Provides a means for transition from analysis to design Provides a synchronous hierarchy of modules disadvantages Structure Charts: n n Does not work well for asynchronous processes such as networks Could be too large to be effectively understood with large programs. System Analysis and Design Avicenna System Implemantation 17

Sequence Summary n n n n n A structure chart consists of symbols that

Sequence Summary n n n n n A structure chart consists of symbols that represent program modules, data couples, control couples, conditions, and loops A rectangle represents a program module, which consists of program code that accomplishes a specific function An arrow with an empty circle represents a data couple, which shows data that one module passes to anther An arrow with a filled circle represents a control couple, which shows a message, also called a flag A line with a diamond on one end represents a condition, which indicates a control module that determines which subordinate module are invoked, depending on a specific condition A curved arrow represents a loop, which indicates that one or more modules are repeated Cohesion measures a module’s scope and processing characteristics A module that performs a single function or task has a high degree of cohesion, which is desirable Coupling measures relationships and interdependence among modules Modules that are relatively independent are loosely coupled, which is desirable System Analysis and Design Avicenna System Implemantation 18

Sequence Summary n In this Sequence we have n n n Defined the terms

Sequence Summary n In this Sequence we have n n n Defined the terms structure chart, control module, Subordinate module, library module, Data couple, control couple, condition, and loop Described a structure charts – notation Explained a structured application development explained a structure charts, cohesion, and coupling Described a structure charts advantages and disadvantages System Analysis and Design Avicenna System Implemantation 19

Reference [1] System Analysis and Design, Sixth Edition Authors: Gary B. Shelly, Thomas J.

Reference [1] System Analysis and Design, Sixth Edition Authors: Gary B. Shelly, Thomas J. Cashman and Harry J. Rosenblatt Publisher: SHELLY CASHMAN SEWIES. System Analysis and Design Avicenna System Implemantation 20