System Analysis and Design

‡ The Systems Development Lifecycle (SDLC) methodology allows a project team to successfully build an application uniquely suited to the organization¶s needs ‡ SDLC allows organizations to incorporate new requirements, technology and human resources to IT development

System Development Life Cycle
‡ Systems Planning
± Yields Preliminary Investigation Report

‡ Systems Analysis
± Yields Systems Requirements Document

‡ Systems Design
± Yields System Design Specification

‡ Systems Implementation
± Yields Functional Information System

‡ Systems Operation and Support
± Yields Operating Information System

Structured Analysis
‡ E-R diagrams could encode many business rules. ‡ But many elements of business processes cannot be represented by E-R diagrams: ± Actors (individuals, organizations) which generate input data and/or receive output data; ± Data transformations using specific business rules ± Data storage or display that may or may not correspond to entities ± Data flows between actors, processes or data stores over time ‡ Many business processes are so complex that E-R design alone will not give analysts insight into their businesses

Tools - SDLC design
‡ Physical Design Tools - describe how a system will be physically implemented They include:
± Data Flow Diagrams ± Storyboards ± Flow Charts ± Structure Charts ± IPO charts ± Layout diagrams / mockups ± Pseudocode

Example .

a physical DFD shows how the system will be implemented. ‡ On the other hand. ‡ A logical DFD focuses on the business and how the business operates. It describes the business events that take place and the data required and produced by each event. .DATA FLOW DIAGRAM ‡ Data Flow Diagrams (DFDs) are the link between initial business analysis. E-R diagrams and relational database models ‡ DFDs allow the analyst to determine: ‡ What does the organization do? ‡ How does the organization do it? ‡ Data flow diagrams (DFDs) are categorized as either logical (reflects the business) or physical (depicts the system).

Contrast features of logical and physical models .

.

.

Register Client 2. Customer.1 Create Student Record . Calculate Purchase Cost.Creating DFDs ‡ Define Entities ± External entities represent persons. processes or machines which produce data to be used by the system or receive data that is output by the system ± Examples: Student. Client Student ‡ Define Processes ± Processes are discrete actions that transform input data to output data ± Examples: Create Student Record.

process.Creating DFDs Define Data Stores ‡ Data stores are temporary or permanent repositories of information that are inputs to or outputs of processes ‡ Examples: Student Master. Client List Define Data Flows D3 Student Master ‡ Data flows represent the transfer of data over time from one ³place´ (entity. data store) to another ‡ Examples: New Student Information New Student Information .

Creating DFDs Define the System ‡ A system is the collection of all business processes which perform tasks or produce outputs. connected to external entities ‡ Represented in a ³Context Diagram´ Define Subsystems ‡ A subsystem gives a more detailed view individual processes contained in the context diagram ‡ Includes data stores. more elementary processes . It is ³what happens.´ ‡ The system is a single process.

Example .

entity connections and data stores associated with a particular process .Where to Begin Creating DFDs ‡ Start with the data flow from an external entity and work forwards ‡ Start with the data flow to an external entity and work backwards ‡ Examine the data flows into or out of a data store ‡ Examine data flows.

Example .

sources and destinations are written in capital letters. 2. When a process is exploded into lowerlevel details. 4. The names of data stores. Each name should be representative of the process. The direction of flow is from top to bottom and from left to right. . 3. they are numbered.Constructing a DFD 1. Process should be named and numbered for easy reference.

Example .

Example .

Symbol .

Example .

.

Mechanic.DFD Example: Bus Garage Repairs ‡ Buses come to a garage for repairs. record the reason for the repair and record the total cost of all parts used on a Shop Repair Order. Helper. ‡ Information on labor. ‡ A mechanic and helper perform the repair. Supervisor. Inventory Management System. Accounting Department. . parts and repair outcome is used for billing by the Accounting Department. ‡ Key process (³the system´): performing repairs and storing information related to repairs ‡ External Entities: Bus. etc. parts monitoring by the inventory management computer system and a performance review by the supervisor.

Bus Garage Repairs ‡ Processes: ± Record Bus ID and reason for repair ± Determine parts needed ± Perform repair ± Calculate parts extended and total cost ± Record labor hours. cost ‡ Data stores: ± Personnel file ± Repairs file ± Bus master list ± Parts list ‡ Data flows: ± Repair order ± Bus record ± Parts record ± Employee timecard ± Invoices .

Bus Garage Repairs Bus Mechanical problem to be repaired Fixed mechanical problems Helper Labor 0 Bus Repair Process Labor. parts cost details Repair summary List of parts used Supervisor Labor Inventory Management System Mechanic Accounting .

‡ and the sub subcomponent DFD of component 3. and 3.3. ± The subcomponent DFD of component 3 would have components 3.2 would have components 3. 1 2 3 4 5. ‡ All processes must have at least one data flow in and one data flow out.g. e.1. ‡ Each component and subcomponent should be numbered. 3. ‡ Each external entity must be involved with at least one data flow.1.2.2.3. 3.2. ‡ A data flow must be attached to at least one process ‡ Data flows cannot go directly from one external entity to another external entity. ‡ All processes should modify the incoming data. 3. This enables a developer to plan in a top-down manner. and 3. producing new forms of outgoing data.4.2.2. ‡ Each data store must be involved with at least one data flow.DFD Conventions ‡ Do not allow a single page of a DFD to get too complex. .

locate possible areas prone to failure. ‡ A DFD also helps management ± organize and prioritize data handling procedures and ± staffing requirements. ‡ developers can map ± how a system will operate. ± what the system will accomplish and ± how the system will be implemented. . ‡ A DFD lets a system analyst study ± ± ± ± how existing systems work.DFD Helps ‡ With a DFD. track faulty procedures and reorganize components to achieve better efficiency or effectiveness. ‡ It's important to have a clear idea of ± where and how data is processed in a system to avoid doublehandling and bottlenecks.

.DFD disadvantage ‡ The DFD for large programs can be hard to translate and take a lot of time. ‡ Needs large number of iterations to arrive at the most accurate and complete solution.

g. D = computerised Data M = Manual. mail box. filing cabinet.g. e. e. . T = Transient data file.g. In physical DFDs there can be 4 types. e. As with external entities. it is common practice to have duplicates of data stores to make a diagram less cluttered. temporary program file T(M) = Transient Manual. in-tray.DATA STORES ‡ Data Stores are some location where data is held temporarily or permanently.

DATA STORES .

‡ More advanced data dictionary contains database schema with reference keys.DATA DICTIONARY ‡ It defines the data used in a system. . ‡ A data dictionary may cover a whole organization. ‡ It is a complete and authoritative definition of all the data in the system. a part of the organization or a database. still more advanced data dictionary contains entity-relationship model of the data elements or objects.

. ± Security classification of the data element: Organization-specific security classification level or possible restrictions on use. ± Short description: Description of the element in the application domain. ± Data element name (caption): Unique data element name. ± Related data elements: List of closely related data element names when the relation is important. This is the real life name of this data element.DATA DICTIONARY ‡ A data dictionary may contain: ± Data element number: Data element number is used in the technical documents.

size and. etc. ± Null value allowed: Null or non-existing data value may or may not be allowed for an element. input masks. These are the technical names. ± Field name(s): Field names are the names used for this element in computer programs and database schemas. special representation. etc. can be used. Common programming language notation. . often limited by the programming languages and systems. like current date and time of the day ± Element coding (allowed values) and validation details or reference to other documents: Explanation of coding (code tables. etc. numeric. ± Default value: Data element may have a default value. if needed. ± Code format: Data type (characters.DATA DICTIONARY ‡ Cont. Default value may be a variable.).) and validation rules when validating this element alone in the application domain.

Data dictionary .

‡ Different types ± Top-down flow chart ± Detailed flow chart ± Work flow diagrams ± Deployment chart . and quite often are useful when examining how various steps in a process work together.FLOW CHART ‡ A diagram that uses graphic symbols to depict the nature and flow of the steps in a process. ‡ It provides an excellent form of documentation for a process.

also known as an "IF" statement.Marks the beginning or ending of a flowchart Process .Common Flow Chart Symbols Terminator .A task that needs to be done Decision . .

Common Flow Chart Symbols Input/output.g. hard disk) storage (as opposed to "sequential access" (e.g. tape) . Where data should be stored on disk Another term for "random access" (e.

Common Flow Chart Symbols
A set of actions defined elsewhere in another flowchart (e.g. "make coffee")

Display Document Internal storage

Common Flow Chart Symbols
Manual input Manual operation Merge Or A delay in a process, waiting for something

Management Review

.

.

.

.

PROCESS Planning System .

Control of Quality of Records .

Training .

Audit .

Advantages ‡ ‡ ‡ ‡ ‡ ‡ Better communication Effective analysis Effective synthesis Proper program documentation Efficient coding Systematic debug and test .

Limitations ‡ It is very time consuming ‡ Redrawing is tedious ‡ No standards on determining the amount of details should be included .

loops etc. ‡ It is a tool to aid in software design ‡ They are used to show the relationship between modules using chart symbols to represent ± Modules.Structure Charts ‡ It is a structured designed approach. Subordinate. Data couples. which is called modularization or decomposition. ‡ The structured design is an attempt to minimize complexity and make a problem manageable by subdividing it into smaller segments. Library. Control. ‡ A structure chart (module chart. . hierarchy chart) is a graphic depiction of the decomposition of a problem.

the bottom of the chart shows a number of boxes representing the less complicated sub problems.Structure Charts ‡ The top of the chart is a box representing the entire problem. .

An arrow with circular tail represents the couple. It is contiguous set of statements. It represents data items moved from one module to another. A vector linking two modules represents the connection. (the couple) . (the module) 2. The module is represented by a rectangle with a name. It usually means one module called another module. (the connection) 3.Structured Charts 1.

.

.

Structured Chart .

. ± A design objective for producing an easily understood code is to make the modules as independent as possible (loosely coupled). ± There must be at least one connection between a module and a calling module.Coupling ‡ Each module is evaluated for : ± the module's connections to other¶ modules. called coupling. ± Coupling measures relationships and interdependence among modules. and ± its intra-module strength called cohesion ‡ Module coupling refers to the number of connections between a "calling" and a "called" module and the complexity of these connections.

The traffic between the modules is coupling .

communication protocol.Types of coupling ‡ Content coupling: it is when one module modifies or relies on the internal workings of another module ‡ Common coupling: It is when two modules share the same global data ‡ External coupling: It occurs when two modules share an externally imposed data format. or device interface. ‡ Control coupling: It is one module controlling the flow of another. by passing it information on what to do .

.. ‡ Message coupling: Modules are not dependent on each other.Contd. instead they use a public interface to exchange parameterless messages ‡ No coupling: Modules do not communicate at all with one another. possibly a different part ‡ Data coupling: It is when modules share data through. ‡ Stamp coupling: It is when modules share a composite data structure and use only a part of it.

± If a module does more than one discrete task. ± Cohesion measures a module¶s scope and processing characteristics.Cohesion ‡ Module cohesion refers to the relationship among elements (instructions) within a module. . ± Modules that perform only one task are said to be more cohesive (and less error-prone) than modules that perform multiple tasks. the instructions in that module are said not to be bound together very closely.

putting strongly associated things in the same module .

e. ‡ ‡ ‡ ‡ FIND TITLE OF BOOK FIND PRICE OF BOOK FIND PUBLISHER OF BOOK FIND AUTHOR OF BOOK . For e.g READ TRANSACTION RECORD ‡ Sequential cohesion ± This module is one whose elements are involved in activities sequentially ‡ Communicationally cohesion ± This module is one whose elements contribute to activities that use the same input or output data.Types ‡ Functional cohesion ± It contains elements that all contribute to the execution of one and only one problemrelated task.g.

Contd. o o o o o CLEAN UTENSILS FROM PREVIOUS MEAL PREPARE food MAKE PHONE CALL TAKE SHOWER SET TABLE ‡ Temporal cohesion ± A temporally cohesive module is one whose elements are involved in activities that are related in time..g. o Procedural cohesion o A procedurally cohesive module is one whose elements are involved in different and possibly unrelated activities in which control flows from each activity to the next. ‡ PUT OUT MILK BOTTLES ‡ PUT OUT CAT ‡ TURN OFF TV ‡ BRUSH TEETH . E. E.g..

Contd. ‡ ‡ ‡ ‡ GO BY CAR GO BY TRAIN GO BY BOAT GO BY PLANE ‡ Coincidental cohesion: ± A coincidentally cohesive module is one whose elements contribute to activities with no meaningful relationship to one another .g.. E. ‡ Logically cohesion: ± A logically cohesive module is one whose elements contribute to activities of the same general category in which the activity or activities to be executed are selected from outside the module.

.

transforms it and passes it to a lower-level component as output. perhaps in a modified form.DRAW ± Structured Chart ‡ Aim: to derive design units which are highly cohesive and loosely coupled. loops. ‡ ‡ . and conditions Input: component accepts input and passes it to a higher level component. transforms it and passes it back the first component. ‡ ‡ ‡ ‡ ‡ Review the DFD¶s and object models Identify modules and relationships Add couples. Transform: component accepts data from a higher-level component. Coordinate: component is responsible for coordinating the actions of other components. Output: component accepts data from a higher-level component.

OUTPUT DESIGN There are three main reasons why outputs from the computer are required. ‡ For re-input to the computer for being connected with other data and further processing. ‡ For permanent storage. They are: ‡ For communicating to the persons concerned. .

Types of Output ‡ Outputs of a system can take different forms : ± reports. displays on screen. printed forms ‡ Outputs of a data-processing system can be placed into two categories: ± Application Output ± Operating Output .

Purchase Orders are the examples of such output. ± Output as a requirement to meet a functional objective. ‡ Examples are 'C' forms. These are of three types: ± Output as a basis for decision-making. '3A' and '6A' forms for provident fund. . ± Statutory Outputs: All organizations are required to produce a certain amount of reports and forms as required by law.Application Output ‡ These are the outputs desired out of the system to meet its objectives. Excise Gate Passes. ‡ Invoices. income tax certificates etc. ‡ Management generally requires this type of output for decision-making purposes.

error messages. staff and give various indications as to ± how the system operates. ‡ System logs.Operating Output ‡ These outputs are mainly generated for use of E. .D. ± These types of output are not concerned for the users. status indicators etc. are the examples of such output.P.

‡ Some want exception reports (e.Output Design Consideration ‡ Type of user and purpose: ± Generally different levels of users will have different requirements from the system.g. ‡ some want summary reports (e.g.g. sales quantity and value for each region) ‡ some want details (e. when sales fall below a certain level). list of invoices for a period) ‡ Again statutory reports will normally be as per requirement specified under the law and the designer will not have much flexibility to change the format .

annually etc. headlines. These will be related to the purpose of the output.) . Color of the paper etc. before the last day of every month etc.) and when (after annual closing of accounts. ‡ Frequency and Timing: At what frequency (daily. after the end of the fiscal year. size of the paper.Output Design Consideration ‡ Content: The data that are needed to be included in the output. titles. ‡ Format: This refers to the arrangement of data on the report. weekly. monthly.

‡ Quality: This relates to the content.g.Output Design Consideration ‡ Volume: Often sheer volume of the output deters one from using the output The sheer bulk of the report may also create problems for handling. A proper sequence will also help distribution of outputs to different users (e. . pay-slips printed department-wise facilitates easier payment). filing or printing time. ‡ Sequence: The usefulness of an output very often depends on the sequence of data printed. quality of paper. appearance and accuracy of the output Outputs generated for external users should be given special attention in respect of its get-up.

which is useful when most of the contents of the output (e.Output Design Consideration ‡ Type of stationary: Reports can be generated on ordinary blank stationery or on specially printed stationery. ‡ Attractive appearance convenient to use by the users. ± This type of stationery has the following advantages: ‡ Saves computer time.) are constant. Invoice. Pay-slips etc.g. .

. Control heading can be named as for this group. ± A report heading which generally appears only on the first page of the report. Such a group is named as control group.Design of Report ‡ A report normally has the following structure. ± A page heading and sub heading are given at the top of each page of the report ± A set of records containing some common features may be grouped together.

OUTPUT DESIGN ‡ The general principles to be used in designing outputs reports are: ± The design must be such that it can be read from left to right and from top to bottom. ± Too much detail should be avoided. ± All pages must have a heading and a page number. such as the key field. page and report footings must be properly defined. ± The most important item. should be easily available. ± Similarly. . ± Control footing abstracts information about groups of detail lines must be effectively used.

Design of Screen Output ‡ A video display screen has normally 80 columns and 24 rows. ‡ Active involvement of the user is required as it is displayed on-line. ‡ User must be given proper instructions for retrieving the required information. .

and spend many hours in handling forms and filing forms. and the informational output of the system goes to people so the form is a tool with a message. write on forms. ‡ It also can constitute authority for action. ‡ It provides information for making decisions and improving operations. . ‡ The data the forms carry come from people. ‡ it is the physical carrier of data of information.Form Design ‡ People read from forms.

Classification of Forms .

. Pre-printed entries should be taken care of. ‡ Precise contents should be recorded. sorting etc. Columns and rows should be labeled to avoid confusion. ‡ The form title must clearly identify its purpose. Adequate and compact space should be provided for items to be recorded. filing. ‡ Arrange the materiel in a logical order so that it becomes easy to fill it up.Requirements of Forms Design ‡ Size and shape of the form should be such that it is convenient for handling.

‡ Introduce emphasis by shading columns.Requirements of Forms Design ‡ Special features like security and control are to be considered. etc. if the form is to be used for specific clerical operation ‡ The form designer should design the form in such a way so as to cover the specific needs of the purpose for which it is designed . heavy lines.

Types of Forms ‡ Flat Forms. single-copy form prepared manually or by a machine and printed on any grade of paper ‡ Unit-set/snapout forms: an original copy and several copies with one-time carbon paper interleaved between them. . ‡ Continuous strip/fanfold forms: multipleunit forms joined together in a continuous strip with perforations between each pair of forms.

Types of Forms ‡ NCR paper: several copies can be made by pressing a chemical undercoating on the top sheet into a claylike coating on the top of the second sheet. ± The writing pressure forms an image by the coating material ‡ Preprinted forms .

± Routing one copy of a form control through several departments is probably the best way to achieve this. ‡ Forms should be titled. ± Different departments using different forms to accomplish the same task is an unnecessary expense.Forms Control ‡ The first objective of this form control program is to establish standards. numbered and contain the data of the most recent revision. . ‡ The forms control specialist also seeks to reduce the number of copies of each form used. ± So all forms in a given system can easily be located when that system is under study.

Sign up to vote on this title
UsefulNot useful