system implementation

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

Upload: darryl-oneal

Post on 02-Jan-2016

34 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: System Implementation

System ImplementationSystem Implementation

- Mr. Ahmad Al-Ghoul- Mr. Ahmad Al-Ghoul

System Analysis and System Analysis and DesignDesign

Page 2: System Implementation

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

Page 3: System Implementation

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.

Page 4: System Implementation

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.

Page 5: System Implementation

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

Page 6: System Implementation

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.

Page 7: System Implementation

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

Page 8: System Implementation

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

Page 9: System Implementation

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.

Page 10: System Implementation

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.

Page 11: System Implementation

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.

Page 12: System Implementation

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.

Page 13: System Implementation

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.

Page 14: System Implementation

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.

Page 15: System Implementation

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

Page 16: System Implementation

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.

Page 17: System Implementation

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.

Page 18: System Implementation

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

Page 19: System Implementation

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

Page 20: System Implementation

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.