1 / 56

System Development And Analysis

System Development And Analysis . MOVING FROM LOGICAL TO PHYSICAL PROCESS MODELS. Analysis phase – focus on logical processes and data flows Design phase – create physical process models showing “how” the final system will work Physical process models convey the “system view” of the new system.

coralia
Download Presentation

System Development And Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. System Development And Analysis

  2. MOVING FROM LOGICAL TO PHYSICAL PROCESS MODELS • Analysis phase – focus on logical processes and data flows • Design phase – create physical process models showing “how” the final system will work • Physical process models convey the “system view” of the new system

  3. The Physical Data Flow Diagram • The physical DFD contains the same components as the logical DFD, and the same rules apply • There are five steps to perform to make the transition to the physical DFD

  4. New Logical to New Physical System Design • Some design investigate alternate ways to implement the system by drawing a boundary to identify those processes that are to be automated • The automation boundary can be drawn on high and low level DFD or on a class diagram

  5. Steps to Create the Physical Data Flow Diagram Metadata is data about data

  6. The Physical Data Flow Diagram (to remind you)

  7. Dividing into Computer Subsystem • Architecture design then continues with DFDs in automation boundary and uses out put from database design and user procedure design to produce a structure chart • Logically connected processes are grouped in to computer subsystem • These sub system usually involve one transaction(similar function) or some connected transactions and become transaction program or batch suites program. • The most common method for grouping DFD processes is to follow through on kind of input, which usually identifies a part of a business process see example on page 400

  8. The Structure Chart • Describes functions and sub-functions of each part of system • Shows relationships between modules of a computer program • Simple and direct organization • Each module performs a specific function • Each layer in a program performs specific activities • Chart is tree-like with root module and branches

  9. The Structure Chart • Purpose • A structure chart is a hierarchy chart with arrows showing the flow of data and control information between the modules. Structure charts are used as design tools for functionally decomposing structured programs.

  10. Structure Chart Conventions • Structure chart uses a number of conventions to describe system operations • The most common conventions specify the execution sequence and parameter passing between modules

  11. Coupling & Cohesion • Module coupling • Measure of how module is connected to other modules in program • Goal is to be loosely coupled (independent) • Module cohesion • Measure of internal strength of module • Module performs one defined task • Goal is to be highly cohesive

  12. Coupling & Cohesion • coupling is a measure of how independent or inter-dependent modules are • has the module everything it needs or does it depend on any other module(s) to complete its task? • cohesion is a measure of how much the internal elements logically belong together • has the module nothing more than it needs to do one task well, or does it contain extra undesirable elements? • does it have more than one role?

  13. Types of cohesion • Functional - best type of cohesion • all the module’s elements are necessary for the single, specific task • module contains all elements required for the task, and no more • “single minded” modules • Sequential • the elements are related by sequence: the output from one is the input for some other • e.g. the 3 modules: calc_gross_pay, calc_deductions, calc_net_pay • Communicational • all of the elements in a module operate on the same input data or produce the same output data

  14. Types of cohesion • Procedural • the elements make up a single control sequence; usually occurs if flowcharting has been used as a design technique • Temporal • the elements are all executed at the same time (e.g. initialisation or close down) • Logical • the elements perform a set of logically related tasks e.g. different types of error handling • Coincidental - the weakest type of cohesion • no significant relationship between the elements of a module, they are simply bundled together by coincidence producing “scatterbrained” modules

  15. Cohesion

  16. Hints for achieving Functional Cohesion • write down a sentence describing the purpose of each function and then analyse it • if it cannot be phrased without a comma or more than one verb it probably has sequential or communicational cohesion • if it contains words concerning time (first, next, then, after, when, etc) then it probably has sequential or temporal cohesion • if the verb is not followed by a simple, single noun then it probably has logical binding e.g. edit all data • words such as initialise, clean up, etc suggest temporal cohesion

  17.  date day of week  Coupling • Normal coupling • one module calls another with no parameter passing nor return values (i.e. no data communication) • e.g.clearScreen • Data coupling • data is passed between modules • achieved via parameter passing and/or return values • simple example:

  18. Coupling Stamp Coupling • unnecessary data passed between modules e.g. whole personnel record sent to calc_age module when only the date of birth is needed • makes the called module do more than it needs to • makes it less reusable in programs with different record structures

  19. Control Coupling one module passes a piece of information intended to control the internal logic of another -this may be data or a flag procedure PrintRec is begin Display Name (name, sex); ..... end PrintRec; procedure DisplayName (in : name, sex) is begin if sex = m then print Mr. else print Ms print the name end DisplayName; Coupling

  20. Coupling • Common (global) coupling - very undesirable • communication via shared or global data • Suppose modules A, B & C each access some global data. Module A reads it and then invokes B, which alters it incorrectly. Later C reads it, attempts to process it, fails, and the program crashes. Apparent cause is module C, actual cause is module B. • Content (pathological) coupling the highest and worst degree of coupling, occurring when either: • one module makes use of data or control information held within another module, or • one module branches into the middle of another (gotos!)

  21. Types of Coupling

  22. Elements in Structure Chart

  23. Basic Building Blocks in SC • Rectangular box • A rectangular box represents a module • It is always annotated with the name of the module it represents Example

  24. Basic Building Blocks in SC • Module invocation arrow • An arrow connecting two modules (rectangular boxes) • It represents the control passing from one module to another Example

  25. Basic Building Blocks in SC • Data flow arrow • To represent the data passes from one modulo to the other in the direction of arrow • Small arrow appears alongside the modulo invocation arrow • It is annotated with the corresponding data name Example

  26. Basic Building Blocks in SC • Library Modules • To represent frequently called modules • When a module is invoked by many other modules it is treated as a library module • It is denoted by a rectangle with double edges Example

  27. Basic Building Blocks in SC • Decision • To represent a selection out of many options • It is denoted by a diamond symbol • One module out of several modules connected with the diamond symbol is invoked depending on the condition attached to the diamond symbol Example

  28. Basic Building Blocks in SC • Iteration • To represent a repetition when two or more modules are invoked repeatedly • It is denoted by a control flow with loop Example

  29. A Simple Structure Chart for the Calculate Pay Amounts Module

  30. Structure Chart Symbols

  31. Structure Chart for Entire Payroll Program

  32. Developing a Structure Chart • Two strategies are know for transforming DFD into a structure chart • Transaction analysis • Uses system flow chart and event table inputs • Upper-level modules developed first • Identifies each transaction supported by program • Transform analysis • Uses DFD fragments for inputs • Computer program “transforms” inputs into outputs • Charts have input, calculate, and output sub-trees

  33. Transaction Analysis • Transformation analysis is suitable for transforming central system, which is characterized by identical processing steps for each data items • Transaction analysis is suitable for transaction-driven system which is characterized by several possible paths are to be traversed through the DFD depending on the input data item • The number of bubbles on which the input data to the DFD are incident defines the number of transactions • However, some transactions may not require any input data

  34. Transaction Analysis • Identify a transaction by tracing the path from an input data to output data • All traversed bubbles belong to the transaction • These bubbles is to be mapped to a module in the structure chart • There will be root module under which all modules identifying transactions will be drawn • Every transaction carries a label identifying its functionality • A transaction can be refined to its more detailed level (sub-modules)

  35. An Example of Transaction Analysis: eSale

  36. An Example of Transaction Analysis: eSale

  37. An Example of Transaction Analysis: eSale

  38. Transform Analysis • Based on the idea that computer program “transforms” input data into output data • Structure charts developed with transform analysis usually have 3 main subtrees • Input subtree to get data • A calculate subtree to perform logic • An output subtree to write the results • Can create it rearranging elements from • DFD fragment for an event (e.g. “create new order”) • The detailed DFD for that event • E.g. see next two slides for “create new order” DFD fragment, and its corresponding detailed DFD

  39. Transformation Analysis • Transform analysis identifies the primary functional components and high level input and outputs for these components • There are three steps in the transformation analysis: • First step. • Divide the DFD into three parts • Afferent branch • The input portion that transform input data from physical (e.g. reading from a source) to logical (storing into a table) • Efferent branch • The output portion that transform output data from logical form (e.g. output from a process) to physical form (e.g. display the result) • Central Transform • The remaining portion of the DFD

  40. Transformation Analysis • Second step. • Derive the structure chart by drawing on module for each of the afferent branch, central transform, and the efferent branch • They are drawn below a module called the root module which invokes these modules Example

  41. Transformation Analysis • Third step. • Refine the structure chart by adding sub modules required by each of the high-level functional components • Factoring • Process of breaking functional components into subcomponents is called factoring • The factoring process should be repeated until all bubbles in the DFD are represented in the structure chart

  42. High-Level Structure Chart for the Order-Entry Subsystem After Transaction Analysis

  43. Steps to Create a Structure Chart from a DFD Fragment • Determine primary information flow • Main stream of data transformed from some input form to output form • Find process that represents most fundamental change from input to output • Redraw DFD with inputs to left and outputs to right – central transform process goes in middle • Generate first draft of structure chart based on redrawn data flow

  44. The Create New Order DFD Fragment

  45. Decomposed DFD for Create New Order

  46. Rearranged Create New Order DFD

More Related