system implementation
DESCRIPTION
System Analysis and Design. System Implementation. - Mr. Ahmad Al-Ghoul. learning Objectives. explain a structure chart showing top-down design, modular design, cohesion, and coupling. Structured Application Development. Structure Charts - PowerPoint PPT PresentationTRANSCRIPT
System ImplementationSystem Implementation
- Mr. Ahmad Al-Ghoul- Mr. Ahmad Al-Ghoul
System Analysis and System Analysis and DesignDesign
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 22
learning Objectiveslearning Objectives
explain a structure chart explain a structure chart showing top-down design, showing top-down design, modular design, cohesion, and modular design, cohesion, and couplingcoupling
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 33
Structured Application DevelopmentStructured Application Development
Structure ChartsStructure Charts Structure chartsStructure charts show the program show the program
modules and the relationships among modules and the relationships among themthem
Control moduleControl module: In a structure chart, a : In a structure chart, a control module is a higher-level module control module is a higher-level module that directs lower-level modules, called that directs lower-level modules, called subordinate modules. subordinate modules.
Subordinate modulesSubordinate modules: A lower-level : A lower-level module in a structure chart. module in a structure chart.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 44
Structured Application DevelopmentStructured Application DevelopmentStructure ChartsStructure Charts ModuleModule
A self-contained component of a system, defined by a A self-contained component of a system, defined by a functionfunction
One single coordinating module at the root of One single coordinating module at the root of structure chartstructure chart
Single point of entry and exitSingle point of entry and exit Communicate with each other by passing parametersCommunicate with each other by passing parameters
library modulelibrary module: In a structure chart, a library module is a module : In a structure chart, a library module is a module that is reusable and can be invoked from more than one point in that is reusable and can be invoked from more than one point in the chart. the chart.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 55
Structured Application Structured Application DevelopmentDevelopment
Data and control passed between structure Data and control passed between structure chart modules is either a:chart modules is either a:
Data coupleData couple, A diagrammatic , A diagrammatic representation of the data exchanged representation of the data exchanged between two modules in a structure between two modules in a structure chartchart passing only data, shown as an arrow passing only data, shown as an arrow
with an empty circle.with an empty circle. Control coupleControl couple
shown as an arrow with a filled-in circle.shown as an arrow with a filled-in circle. In a structure chart, a control couple shows a In a structure chart, a control couple shows a
message, also called a flag, which one module message, also called a flag, which one module sends to another. sends to another.
A module uses a flag to signal a specific condition or A module uses a flag to signal a specific condition or action to another moduleaction to another module
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 66
Structured Application Structured Application DevelopmentDevelopment
Control modules make the decisions about Control modules make the decisions about which lower-level modules should be executed.which lower-level modules should be executed.
Lower-level modules are functional, performing Lower-level modules are functional, performing only one task.only one task.
Systems analysts should keep the number of Systems analysts should keep the number of couples to a minimum.couples to a minimum. The fewer data couples and control flags one The fewer data couples and control flags one
has in the system, the easier it is to change the has in the system, the easier it is to change the system.system.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 77
Structured Application DevelopmentStructured Application Development
An example of a structure chart control couple.An example of a structure chart data couple.
The look up customer name module exchanges data with the maintain customer data module
The update customer file module sends an account overdue flag back to the maintain customer data module
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 88
Structured Application Structured Application DevelopmentDevelopment
Structure Charts – NotationStructure Charts – Notation
Modules
Library modules
Module call
Data
Flag
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 99
Structured Application Structured Application DevelopmentDevelopment
Structure ChartsStructure Charts Condition: :
A line with diamond on one end presents a conditionA line with diamond on one end presents a condition A specified action or state in a structure chart. A specified action or state in a structure chart. A condition line indicates that a control module determines which A condition line indicates that a control module determines which
subordinate modules will be invoked, depending on a specific subordinate modules will be invoked, depending on a specific conditioncondition
Sort inventory parts is a control module with a condition line that Sort inventory parts is a control module with a condition line that triggers one of the three subordinate modulestriggers one of the three subordinate modules
An example of a structure chart condition and condition lines.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1010
Structured Application Structured Application DevelopmentDevelopment
Structure ChartsStructure Charts Loop: :
A curved arrow represents a loopA curved arrow represents a loop In a structure chart, a loop indicates that one In a structure chart, a loop indicates that one
or more modules are repeated. or more modules are repeated. The get student grades and calculate GPA The get student grades and calculate GPA
modules are repeated for each studentmodules are repeated for each student
An example of a structure chart loop.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1111
Structured Application Structured Application DevelopmentDevelopment
In order to choose among alternatives In order to choose among alternatives when dividing systems into modules, it when dividing systems into modules, it useful to evaluate the connection between useful to evaluate the connection between them. If there are few or no connections them. If there are few or no connections between modules, then it is easier to between modules, then it is easier to understand one module without reference understand one module without reference to others. The notion of module to others. The notion of module independence can be described in terms independence can be described in terms of ‘coupling’ and ‘cohesiveness’. These of ‘coupling’ and ‘cohesiveness’. These concepts were introduced by Edward concepts were introduced by Edward Yourdon and Larry Constantine who are Yourdon and Larry Constantine who are concerned with ‘goodness’ of design.concerned with ‘goodness’ of design.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1212
Structured Application DevelopmentStructured Application Development
CouplingCoupling: Coupling measures relationships and : Coupling measures relationships and interdependence among modules. interdependence among modules.
Coupling is the strength of relationships between Coupling is the strength of relationships between modules (the degree to which modules are modules (the degree to which modules are interconnected with or related to one another). interconnected with or related to one another).
The stronger the coupling between modules in a The stronger the coupling between modules in a system, the more difficult it is to implement and system, the more difficult it is to implement and maintain the system, because a modification to maintain the system, because a modification to one module will then one module will then necessitate necessitate careful study, as careful study, as well as possible changes and modifications, to well as possible changes and modifications, to one or more other modules. one or more other modules.
In practice, this means that each module should In practice, this means that each module should have simple, clean interface with other modules, have simple, clean interface with other modules, and that the minimum number of data elements and that the minimum number of data elements should be shared between modules.should be shared between modules.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1313
Structured Application Structured Application DevelopmentDevelopment
Loosely coupledLoosely coupled: Modules that are : Modules that are relatively independent. Loosely relatively independent. Loosely coupled modules are easier to coupled modules are easier to maintain and modify, because the maintain and modify, because the logic in one module does not affect logic in one module does not affect other modules. other modules.
Tightly coupledTightly coupled: If modules are tightly : If modules are tightly coupled, one module refers to internal coupled, one module refers to internal logic contained in another module. logic contained in another module.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1414
Structured Application DevelopmentStructured Application Development This figure shows two examples This figure shows two examples
of couplingof coupling In the tightly coupled example, In the tightly coupled example,
the subordinate module, the subordinate module, Calculate Current Charges, Calculate Current Charges, depends on a status flag that is depends on a status flag that is receives from control module, receives from control module, Update Customer Balance.Update Customer Balance.
The loosely coupled modules on The loosely coupled modules on the left are logically the left are logically independent.independent.
Rather than passing flag down Rather than passing flag down to the subordinate module, the to the subordinate module, the control module allows the Apply control module allows the Apply Discount module to handle Discount module to handle discount processing discount processing independently.independently.
Logic errors, if any, are Logic errors, if any, are confinedconfined to the Apply Discount module, to the Apply Discount module, where they can be detected and where they can be detected and resolved more easilyresolved more easily
An example of loosely coupled and tightly coupled structure charts.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1515
Structured Application DevelopmentStructured Application Development CohesionCohesion: Cohesion measures a module's scope and : Cohesion measures a module's scope and
processing characteristics. processing characteristics. Cohesion is the measure of the strength among the Cohesion is the measure of the strength among the
elements in the same module (the degree to which the elements in the same module (the degree to which the components of a module are necessary and sufficient to components of a module are necessary and sufficient to carry out one, single, well defined function).carry out one, single, well defined function).
In practice, this means that the systems designer must In practice, this means that the systems designer must ensure that they does not split essential processes into ensure that they does not split essential processes into fragmented modules and the systems designer must ensure fragmented modules and the systems designer must ensure that they does not gather together unrelated processes that they does not gather together unrelated processes (represented as processes on the DFD) into meaningless (represented as processes on the DFD) into meaningless modules.modules.
The best modules are those that are functionally cohesive. The best modules are those that are functionally cohesive. The worst modules are those that are The worst modules are those that are coincidentallycoincidentally
cohesive.cohesive. High cohesiveness occurs when all of the module parts High cohesiveness occurs when all of the module parts
contribute directly to the purpose or function which the contribute directly to the purpose or function which the module is supposed to accomplish.module is supposed to accomplish.
If you need to make a module more cohesive, you can If you need to make a module more cohesive, you can split it into separate units, each of which performs a split it into separate units, each of which performs a single functionsingle function
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1616
Structured Application Structured Application DevelopmentDevelopment
In the figure below the task called Check Customer In the figure below the task called Check Customer Status actually consists of two separate tasks: Check Status actually consists of two separate tasks: Check Customer Number and Check Customer Credit Limit.Customer Number and Check Customer Credit Limit.
Notice that the figure with one module is less Notice that the figure with one module is less cohesive than the figure with the two modules, cohesive than the figure with the two modules, because it combines the two tasks into a single because it combines the two tasks into a single module, while the other figure treats them as module, while the other figure treats them as separate modules, you achieve more cohesion and separate modules, you achieve more cohesion and better program qualitybetter program quality
An example of structure chart cohesion.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1717
Structured Application Structured Application DevelopmentDevelopment
advantagesadvantages
Structure Charts:Structure Charts: Modularity improves system maintainabilityModularity improves system maintainability Provides a means for transition from analysis to designProvides a means for transition from analysis to design Provides a synchronous hierarchy of modulesProvides a synchronous hierarchy of modules
disadvantagesdisadvantages
Structure Charts:Structure Charts: Does not work well for asynchronous processes Does not work well for asynchronous processes
such as networkssuch as networks Could be too large to be effectively understood Could be too large to be effectively understood
with large programs.with large programs.
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1818
Sequence SummarySequence Summary A structure chart consists of symbols that represent program A structure chart consists of symbols that represent program
modules, data couples, control couples, conditions, and loopsmodules, data couples, control couples, conditions, and loops A rectangle represents a program module, which consists of A rectangle represents a program module, which consists of
program code that accomplishes a specific functionprogram code that accomplishes a specific function An arrow with an empty circle represents a data couple, which An arrow with an empty circle represents a data couple, which
shows data that one module passes to anthershows data that one module passes to anther An arrow with a filled circle represents a control couple, which An arrow with a filled circle represents a control couple, which
shows a message, also called a flagshows a message, also called a flag A line with a diamond on one end represents a condition, which A line with a diamond on one end represents a condition, which
indicates a control module that determines which subordinate indicates a control module that determines which subordinate module are invoked, depending on a specific conditionmodule are invoked, depending on a specific condition
A curved arrow represents a loop, which indicates that one or A curved arrow represents a loop, which indicates that one or more modules are repeatedmore modules are repeated
Cohesion measures a module’s scope and processing Cohesion measures a module’s scope and processing characteristics characteristics
A module that performs a single function or task has a high A module that performs a single function or task has a high degree of cohesion, which is desirabledegree of cohesion, which is desirable
Coupling measures relationships and interdependence among Coupling measures relationships and interdependence among modulesmodules
Modules that are relatively independent are loosely coupled, Modules that are relatively independent are loosely coupled, which is desirablewhich is desirable
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 1919
Sequence SummarySequence Summary
In this Sequence we haveIn this Sequence we have Defined the terms structure chart, control Defined the terms structure chart, control
module, Subordinate module, library module, Subordinate module, library module, Data couple, control couple, module, Data couple, control couple, condition, and loopcondition, and loop
Described a structure charts – notationDescribed a structure charts – notation Explained a structured application Explained a structured application
developmentdevelopment explained a structure charts, cohesion, and explained a structure charts, cohesion, and
couplingcoupling Described a structure charts advantages Described a structure charts advantages
and disadvantagesand disadvantages
AvicennaAvicennaSystem Analysis and Design System Analysis and Design
System Implemantation System Implemantation 2020
ReferenceReference
[1] System Analysis and Design, Sixth [1] System Analysis and Design, Sixth EditionEdition
Authors: Gary B. Shelly, Thomas J. Authors: Gary B. Shelly, Thomas J. Cashman and Harry J. Rosenblatt Cashman and Harry J. Rosenblatt
Publisher: SHELLY CASHMAN Publisher: SHELLY CASHMAN SEWIES.SEWIES.