SYTEM Aanlysis and Design

Embed Size (px)

Citation preview

  • 8/2/2019 SYTEM Aanlysis and Design

    1/33

    1

    INTRODUCTION TO SYSTEMANALYSIS AND DESIGN

    1.1 INTRODUCTIONSystems are created to solve problems. One can think of thesystemsapproach as an organized way of dealing with a problem. Inthis dynamic world, the subject System Analysis and Design (SAD),mainly deals with the software development activities.

    1.2 OBJECTIVESAfter going through this lesson, you should be able to

    .define a system.explain the different phases of system development life cycle.enumerate the components of system analysis.explain the components of system designing1.3 DEFINING A SYSTEMA collection of components that work together to realize someobjectives

    forms a system. Basically there are three major components inevery system, namely input, processing and output.

    Output

    Input

    ProcessingFig. 1.1: Basic System Components 2 :: Computer Applications

    In a system the different components are connected with eachotherand they are interdependent. For example, human body representsa complete natural system. We are also bound by many nationalsystems such as political system, economic system, educationalsystemand so forth. The objective of the system demands that some

  • 8/2/2019 SYTEM Aanlysis and Design

    2/33

    output is produced as a result of processing the suitable inputs.Awell-designed system also includes an additional element referredto as control that provides a feedback to achieve desired

    objectivesof the system.

    1.4 SYSTEM LIFE CYCLESystem life cycle is an organizational process of developing andmaintainingsystems. It helps in establishing a system project plan, becauseit gives overall list of processes and sub-processes required fordeveloping a system.

    System development life cycle means combination of variousactivities.In other words we can say that various activities put together

    are referred as system development life cycle. In the SystemAnalysisand Design terminology, the system development life cycle alsomeans software development life cycle.

    Following are the different phases of system development lifecycle:

    .Preliminary study.

    Feasibility study.Detailed system study.System analysis.System design.Coding.Testing

    .Implementation

    .MaintenanceThe different phases of system development life cycle is shown inFig. 1.2 below.

  • 8/2/2019 SYTEM Aanlysis and Design

    3/33

    System Study

    Maintenance

    Feasibility Study

    Software

    Implementation

    Development

    System Analysis

    Life Cycle

    Testing

    System Design

    Coding

    Fig. 1.2: Phases of System Development Life Cycle

    Introduction to System Analysis and Design :: 3

    INTEXT QUESTIONS

    1. Write True or False for the following statements.(a)A collection of components that work together to realizesome objectives forms a system.(b)

    System life cycle is not an organizational process of developingand maintaining a system.(c)In the system analysis and design terminology the systemdevelopment life cycle means software development life cycle.(d)Coding is not a step in system development life cycle.(e)

  • 8/2/2019 SYTEM Aanlysis and Design

    4/33

    System analysis and system design are the same phase ofsystem development life cycle.1.5 PHASES OF SYSTEM DEVELOPMENT LIFE CYCLELet us now describe the different phases and related activitiesofsystem development life cycle.

    (a) Preliminary System StudyPreliminary system study is the first stage of system developmentlife cycle. This is a brief investigation of the system underconsiderationand gives a clear picture of what actually the physical systemis? In practice, the initial system study involves thepreparation of aSystem Proposal which lists the Problem Definition, Objectives

    ofthe Study, Terms of reference for Study, Constraints, Expected

    benefitsof the new system, etc. in the light of the user requirements.The system proposal is prepared by the System Analyst (whostudiesthe system) and places it before the user management. Themanagementmay accept the proposal and the cycle proceeds to thenext stage. The management may also reject the proposal orrequestsome modifications in the proposal. In summary, we wouldsay that system study phase passes through the following steps:

    .problem identification and project initiation.background analysis.inference or findings (system proposal)(b) Feasibility StudyIn case the system proposal is acceptable to the management, the

    4 :: Computer Applications

    next phase is to examine the feasibility of the system. Thefeasibilitystudy is basically the test of the proposed system in the lightof itsworkability, meeting users requirements, effective use ofresources

  • 8/2/2019 SYTEM Aanlysis and Design

    5/33

    and of course, the cost effectiveness. These are categorized astechnical,operational, economic and schedule feasibility. The main goalof feasibility study is not to solve the problem but to achievethescope. In the process of feasibility study, the cost and benefitsareestimated with greater accuracy to find the Return on Investment(ROI). This also defines the resources needed to complete thedetailedinvestigation. The result is a feasibility report submitted tothe management. This may be accepted or accepted withmodificationsor rejected. The system cycle proceeds only if the managementaccepts it.

    (c) Detailed System Study

    The detailed investigation of the system is carried out inaccordancewith the objectives of the proposed system. This involvesdetailedstudy of various operations performed by a system and theirrelationshipswithin and outside the system. During this process, dataare collected on the available files, decision points andtransactionshandled by the present system. Interviews, on-site observationand

    questionnaire are the tools used for detailed system study. Usingthe following steps it becomes easy to draw the exact boundary ofthe new system under consideration:

    .Keeping in view the problems and new requirements.Workout the pros and cons including new areas of the systemAll the data and the findings must be documented in the form ofdetailed data flow diagrams (DFDs), data dictionary, logical datastructures

    and miniature specification. The main points to be discussedin this stage are:

    .Specification of what the new system is to accomplish based onthe user requirements..Functional hierarchy showing the functions to be performed by

  • 8/2/2019 SYTEM Aanlysis and Design

    6/33

    the new system and their relationship with each other..Functional network, which are similar to function hierarchy butthey highlight the functions which are common to more thanone procedure..List of attributes of the entities these are the data itemswhichneed to be held about each entity (record)Introduction to System Analysis and Design :: 5

    (d) System AnalysisSystems analysis is a process of collecting factual data,understandthe processes involved, identifying problems and recommendingfeasible

    suggestions for improving the system functioning. This involvesstudying the business processes, gathering operational data,understandthe information flow, finding out bottlenecks and evolvingsolutions for overcoming the weaknesses of the system so as toachieve the organizational goals. System Analysis also includessubdividingof complex process involving the entire system, identificationof data store and manual processes.

    The major objectives of systems analysis are to find answers for

    eachbusiness process: What is being done, How is it being done, Whoisdoing it, When is he doing it, Why is it being done and How canit beimproved? It is more of a thinking process and involves thecreativeskills of the System Analyst. It attempts to give birth to a newefficientsystem that satisfies the current needs of the user and hasscope for future growth within the organizational constraints.

    Theresult of this process is a logical system design. Systemsanalysis isan iterative process that continues until a preferred andacceptablesolution emerges.

    (e) System Design

  • 8/2/2019 SYTEM Aanlysis and Design

    7/33

    Based on the user requirements and the detailed analysis of theexisting system, the new system must be designed. This is thephaseof system designing. It is the most crucial phase in thedevelopmentsof a system. The logical system design arrived at as a result ofsystems analysis is converted into physical system design.Normally,the design proceeds in two stages:

    .Preliminary or General Design.Structured or Detailed DesignPreliminary or General Design: In the preliminary or generaldesign,the features of the new system are specified. The costs of

    implementingthese features and the benefits to be derived are estimated.If the project is still considered to be feasible, we move to thedetaileddesign stage.

    Structured or Detailed Design: In the detailed design stage,computeroriented work begins in earnest. At this stage, the design ofthe system becomes more structured. Structure design is a blueprint of a computer system solution to a given problem having the

    6 :: Computer Applications

    same components and inter-relationships among the same componentsas the original problem. Input, output, databases, forms,codificationschemes and processing specifications are drawn up in detail.In the design stage, the programming language and the hardwareand software platform in which the new system will run arealso decided.

    There are several tools and techniques used for describing thesystemdesign of the system. These tools and techniques are:

    .Flowchart.

  • 8/2/2019 SYTEM Aanlysis and Design

    8/33

    Data flow diagram (DFD).Data dictionary.Structured English.Decision table.Decision treeEach of the above tools for designing will be discussed indetailed inthe next lesson.

    The system design involves:

    i.Defining precisely the required system output

    ii.Determining the data requirement for producing the outputiii.Determining the medium and format of files and databasesiv.Devising processing methods and use of software to produceoutputv.Determine the methods of data capture and data inputvi.Designing Input forms

    vii. Designing Codification Schemesviii. Detailed manual proceduresix.Documenting the Design(f)CodingThe system design needs to be implemented to make it a workablesystem. This demands the coding of design into computerunderstandablelanguage, i.e., programming language. This is also calledthe programming phase in which the programmer converts the pro

  • 8/2/2019 SYTEM Aanlysis and Design

    9/33

    Introduction to System Analysis and Design :: 7

    gram specifications into computer instructions, which we refer toasprograms. It is an important stage where the defined proceduresaretransformed into control specifications by the help of a computerlanguage. The programs coordinate the data movements and controlthe entire process in a system.

    It is generally felt that the programs must be modular in nature.This helps in fast development, maintenance and future changes,ifrequired.

    (g) Testing

    Before actually implementing the new system into operation, atestrun of the system is done for removing the bugs, if any. It is animportant phase of a successful system. After codifying the wholeprograms of the system, a test plan should be developed and runona given set of test data. The output of the test run should matchtheexpected results. Sometimes, system testing is considered a partofimplementation process.

    Using the test data following test run are carried out:

    .Program test.System testProgram test: When the programs have been coded, compiled andbrought to working conditions, they must be individually testedwiththe prepared test data. Any undesirable happening must be noted

    and debugged (error corrections)

    System Test: After carrying out the program test for each of theprograms of the system and errors removed, then system test isdone. At this stage the test is done on actual data. The completesystem is executed on the actual data. At each stage of theexecution,the results or output of the system is analysed. During the

  • 8/2/2019 SYTEM Aanlysis and Design

    10/33

    result analysis, it may be found that the outputs are notmatchingthe expected output of the system. In such case, the errors intheparticular programs are identified and are fixed and furthertestedfor the expected output.

    When it is ensured that the system is running error-free, theusersare called with their own actual data so that the system could beshown running as per their requirements.

    (h) ImplementationAfter having the user acceptance of the new system developed, the

    8 :: Computer Applications

    implementation phase begins. Implementation is the stage of aprojectduring which theory is turned into practice. The major stepsinvolvedin this phase are:

    .Acquisition and Installation of Hardware and Software.

    Conversion.User Training.DocumentationThe hardware and the relevant software required for running thesystem must be made fully operational before implementation. Theconversion is also one of the most critical and expensiveactivities inthe system development life cycle. The data from the old systemneeds to be converted to operate in the new format of the new

    system.The database needs to be setup with security and recoveryproceduresfully defined.

    During this phase, all the programs of the system are loaded ontothe users computer. After loading the system, training of the

    user

  • 8/2/2019 SYTEM Aanlysis and Design

    11/33

    starts. Main topics of such type of training are:

    .How to execute the package.How to enter the data.How to process the data (processing details).How to take out the reportsAfter the users are trained about the computerized system,workinghas to shift from manual to computerized working. The process iscalled Changeover. The following strategies are followed for

    changeover of the system.

    (i)

    Direct Changeover: This is the complete replacement of the oldsystem by the new system. It is a risky approach and requirescomprehensive system testing and training.(ii)Parallel run: In parallel run both the systems, i.e.,computerizedand manual, are executed simultaneously for certain definedperiod. The same data is processed by both the systems. Thisstrategy is less risky but more expensive because of thefollowing:.

    Manual results can be compared with the results of thecomputerizedsystem.Introduction to System Analysis and Design :: 9

    .The operational work is doubled..Failure of the computerized system at the early stage doesnot affect the working of the organization, because the

    manual system continues to work, as it used to do.(iii)Pilot run: In this type of run, the new system is run with thedata from one or more of the previous periods for the whole orpart of the system. The results are compared with the oldsystem results. It is less expensive and risky than parallel runapproach. This strategy builds the confidence and the errorsare traced easily without affecting the operations.

  • 8/2/2019 SYTEM Aanlysis and Design

    12/33

    The documentation of the system is also one of the most importantactivity in the system development life cycle. Thisensures the continuity of the system. There are generally twotypes of documentation prepared for any system. These are:

    .User or Operator Documentation.System DocumentationThe user documentation is a complete description of the systemfrom the users point of view detailing how to use or operate thesystem. It also includes the major error messages likely to beencounteredby the users. The system documentation contains thedetails of system design, programs, their coding, system flow,datadictionary, process description, etc. This helps to understand

    thesystem and permit changes to be made in the existing system tosatisfy new user needs.

    (i) MaintenanceMaintenance is necessary to eliminate errors in the system duringits working life and to tune the system to any variations in itsworkingenvironments. It has been seen that there are always some errorsfound in the systems that must be noted and corrected. It alsomeans the review of the system from time to time. The review of

    thesystem is done for:

    .knowing the full capabilities of the system.knowing the required changes or the additional requirements.studying the performance.If a major change to a system is needed, a new project may haveto

    be set up to carry out the change. The new project will thenproceedthrough all the above life cycle phases.

    10 :: Computer Applications

    INTEXT QUESTIONS

  • 8/2/2019 SYTEM Aanlysis and Design

    13/33

    2.Fill in the blanks.(a)System study is the _____________ stage of system developmentlife cycle.(b)Analysis involves a ____________ study of the current system.(c)All procedures requirements must be analysed and documentedin the form of data flow diagrams, data dictionary,___________ and miniature specifications.(d)_____________ is a blue print of a computer system.(e)In ___________ run the new system installed in parts.

    (f)In parallel run computerized and ____________ systems areexecuted in parallel.1.6 WHAT YOU HAVE LEARNTIn this lesson a systematic approach to solve any given problemisexplained. Phases of system such as preliminary system study,detailed system study, system analysis, design, coding, testing,implementation and maintenance are explained. Computer basedsystems are defined. System development life cycle is discussedin

    detail. The different phases of the development of system areexplained in detail.

    1.7 TERMINAL QUESTIONS1.Define a system. Explain the components of a system.2.How do you explain system development life cycle?3.Discuss the importance of system analysis and design in thedevelopment of a system.

    1.8 KEY TO INTEXT QUESTIONS1.(A) True (b) False (c) True (d) False (e) False2.(a) first (b) detailed (c) logical data structure(d) structure design (e) pilot (f) manual

    NOS : Certificate in Computer Applications

  • 8/2/2019 SYTEM Aanlysis and Design

    14/33

    | Home | Table of Contents |

    Up: Online Course Material

    LESSON 29

    Introduction to System Analysis and Design

    29.1 INTRODUCTION

    Systems are created to solve problems. One can think of thesystems approach as an organized way of dealing with a problem.In this dynamic world, The subject System Analysis and Design,mainly deals with the software development activities.

    29.2 OBJECTIVES

    After going through this lesson, you should be able to:

    * understand a system* understand the different phases of system developments life

    cycle* know the components of system analysis* know the components of system designing

    29.3 Defining A System

    A collection of components that work together to realize someobjective forms a system. Basically there are three majorcomponents in every system, namely input, processing and output.

    s1.gif (1492 bytes)

    In a system the different components are connected with eachother and they are interdependent. For example, Human body

    represents a complete natural system. We are also bound by manynational systems such as political system, economic system,educational system and so forth. The objective of the systemdemand that some output is produced as a result of processing thesuitable inputs.

    29.4 SYSTEM LIFE CYCLE

  • 8/2/2019 SYTEM Aanlysis and Design

    15/33

    System life cycle is an organisational process of developing andmaintaining systems. It helps in establishing a system projectplan, because it gives overall list of processes and sub-processes required developing a system.

    System development life cycle means combination of variousactivities. In other words we can say that various activities puttogether are referred as system development life cycle. In theSystem Analysis and Design terminology, the system developmentlife cycle means software development life cycle.

    Following are the different phases of software development cycle:

    * System study* Feasibility study* System analysis* System design

    * Coding* Testing* Implementation* Maintenance

    The different phases of software development life cycle is shownin Fig.29.1

    s2.gif (3376 bytes)

    Fig. 29.1 Different phases of Software development Life Cycle

    29.5 PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE

    Let us now describe the different phases and the relatedactivities of system development life cycle in detail.

    (a) System Study

    System study is the first stage of system development life cycle.This gives a clear picture of what actually the physical systemis? In practice, the system study is done in two phases. In thefirst phase, the preliminary survey of the system is done whichhelps in identifying the scope of the system. The second phase ofthe system study is more detailed and in-depth study in which theidentification of users requirement and the limitations and

  • 8/2/2019 SYTEM Aanlysis and Design

    16/33

    problems of the present system are studied. After completing thesystem study, a system proposal is prepared by the System Analyst(who studies the system) and placed before the user. The proposedsystem contains the findings of the present system andrecommendations to overcome the limitations and problems of thepresent system in the light of the users requirements.

    To describe the system study phase more analytically, we wouldsay that system study phase passes through the following steps:

    * problem identification and project initiation* background analysis* inference or findings

    (b) Feasibility Study

    On the basis of result of the initial study, feasibility study

    takes place. The feasibility study is basically the test of theproposed system in the light of its workability, meeting users

    requirements, effective use of resources and .of course, the costeffectiveness. The main goal of feasibility study is not to solvethe problem but to achieve the scope. In the process offeasibility study, the cost and benefits are estimated withgreater accuracy.

    (c) System Analysis

    Assuming that a new system is to be developed, the next phase is

    system analysis. Analysis involved a detailed study of thecurrent system, leading to specifications of a new system.Analysis is a detailed study of various operations performed by asystem and their relationships within and outside the system.During analysis, data are collected on the available files,decision points and transactions handled by the present system.Interviews, on-site observation and questionnaire are the toolsused for system analysis. Using the following steps it becomeseasy to draw the exact boundary of the new system underconsideration:

    * Keeping in view the problems and new requirements* Workout the pros and cons including new areas of the system

    All procedures, requirements must be analysed and documented inthe form of detailed data flow diagrams (DFDs), data dictionary,logical data structures and miniature specifications. SystemAnalysis also includes sub-dividing of complex process involving

  • 8/2/2019 SYTEM Aanlysis and Design

    17/33

    the entire system, identification of data store and manualprocesses.

    The main points to be discussed in system analysis are:

    * Specification of what the new system is to accomplish basedon the user requirements.

    * Functional hierarchy showing the functions to be performedby the new system and their relationship with each other.

    * Function network which are similar to function hierarchybut they highlight the those functions which are common to morethan one procedure.

    * List of attributes of the entities - these are the dataitems which need to be held about each entity (record)

    (d) System Design

    Based on the user requirements and the detailed analysis of a newsystem, the new system must be designed. This is the phase ofsystem designing. It is a most crucial phase in the developmentof a system. Normally, the design proceeds in two stages :

    * preliminary or general design* Structure or detailed design

    Preliminary or general design: In the preliminary or generaldesign, the features of the new system are specified. The costsof implementing these features and the benefits to be derived are

    estimated. If the project is still considered to be feasible, wemove to the detailed design stage.

    Structure or Detailed design: In the detailed design stage,computer oriented work begins in earnest. At this stage, thedesign of the system becomes more structured. Structure design isa blue print of a computer system solution to a given problemhaving the same components and inter-relationship among the samecomponents as the original problem. Input, output and processingspecifications are drawn up in detail. In the design stage, theprogramming language and the platform in which the new system

    will run are also decided.

    There are several tools and techniques used for designing. Thesetools and techniques are:

    * Flowchart* Data flow diagram (DFDs)* Data dictionary

  • 8/2/2019 SYTEM Aanlysis and Design

    18/33

    * Structured English* Decision table* Decision tree

    Each of the above tools for designing will be discussed indetailed in the next lesson.

    (e) Coding

    After designing the new system, the whole system is required tobe converted into computer understanding language. Coding the newsystem into computer programming language does this. It is animportant stage where the defined procedure are transformed intocontrol specifications by the help of a computer language. Thisis also called the programming phase in which the programmerconverts the program specifications into computer instructions,which we refer as programs. The programs coordinate the data

    movements and control the entire process in a system.

    It is generally felt that the programs must be modular in nature.This helps in fast development, maintenance and future change, ifrequired.

    (f) Testing

    Before actually implementing the new system into operations, atest run of the system is done removing all the bugs, if any. Itis an important phase of a successful system. After codifying the

    whole programs of the system, a test plan should be developed andrun on a given set of test data. The output of the test runshould match the expected results.

    Using the test data following test run are carried out:

    * Unit test* System test

    Unit test: When the programs have been coded and compiled andbrought to working conditions, they must be individually tested

    with the prepared test data. Any undesirable happening must benoted and debugged (error corrections).

    System Test: After carrying out the unit test for each of theprograms of the system and when errors are removed, then systemtest is done. At this stage the test is done on actual data. Thecomplete system is executed on the actual data. At each stage ofthe execution, the results or output of the system is analysed.

  • 8/2/2019 SYTEM Aanlysis and Design

    19/33

    During the result analysis, it may be found that the outputs arenot matching the expected out of the system. In such case, theerrors in the particular programs are identified and are fixedand further tested for the expected output.

    When it is ensured that the system is running error-free, theusers are called with their own actual data so that the systemcould be shown running as per their requirements.

    (g) Implementation

    After having the user acceptance of the new system developed, theimplementation phase begins. Implementation is the stage of aproject during which theory is turned into practice. During thisphase, all the programs of the system are loaded onto the user'scomputer. After loading the system, training of the users starts.Main topics of such type of training are:

    * How to execute the package* How to enter the data* How to process the data (processing details)* How to take out the reports

    After the users are trained about the computerised system, manualworking has to shift from manual to computerised working. Thefollowing two strategies are followed for running the system:

    1. Parallel run: In such run for a certain defined period,

    both the systems i.e. computerised and manual are executed inparallel. This strategy is helpful because of the following:

    o Manual results can be compared with the results ofthe computerised system.

    o Failure of the computerised system at the earlystage, does not affect the working of the organisation, becausethe manual system continues to work, as it used to do.

    1. Pilot run: In this type of run, the new system is installedin parts. Some part of the new system is installed first and

    executed successfully for considerable time period. When theresults are found satisfactory then only other parts areimplemented. This strategy builds the confidence and the errorsare traced easily.

    (h) Maintenance

  • 8/2/2019 SYTEM Aanlysis and Design

    20/33

    Maintenance is necessary to eliminate errors in the system duringits working life and to tune the system to any variations in itsworking environment. It has been seen that there are always someerrors found in the system that must be noted and corrected. Italso means the review of the system from time to time. The reviewof the system is done for:

    * knowing the full capabilities of the system* knowing the required changes or the additional requirements* studying the performance

    If a major change to a system is needed, a new project may haveto be set up to carry out the change. The new project will thenproceed through all the above life cycle phases.

    Top

    29.6 What You Have Learnt

    In this lesson systematic approach of any given problem isexplained. Computer based systems are defined. System developmentlife cycle is discussed in detail. The different phases of thedevelopment of system life cycle are explained in detail.

    29.7 Terminal Question

    1. Define a system. Explain the components of a system.2. What do you understand by system development life cycle?3. Discuss the importance of system analysis and design in the

    development of a system?

    Systems Analysis & Design

    Introduction | Specification of Information Systems |Methodologies for Systems Development | Strategy in Analysis &Design | An Example | References

    My experience has shown that many people find it hard to maketheir design ideas precise. They are willing to express theirideas in loose, general terms, but are unwilling to express themwith the precision needed to make them into patterns. Above all,

  • 8/2/2019 SYTEM Aanlysis and Design

    21/33

    they are unwilling to express them as abstract spatial relationsamong well-defined spatial parts. I have also found that peoplearen't always very good at it; it is hard to do..... If you can'tdraw a diagram of it, it isn't a pattern. If you think you have apattern, you must be able to draw a diagram of it. This is acrude, but vital rule. A pattern defines a field of spatialrelations, and it must always be possible to draw a diagram forevery pattern. In the diagram, each part will appear as a labeledor colored zone, and the layout of the parts expresses therelation which the pattern specifies. If you can't draw it, itisn't a pattern.

    Christopher Alexander (1979) in The Timeless Way of Building.

    One anxiety inherent in the design methods is thehierarchical nature of complexity. This anxiety moves in two

    directions, escalation and infinite regression. I will use astory, "The Warning of the Doorknob," to illustrate the principleof escalation.

    This has been my experience in Washington when I had money togive away. If I gave a contract to a designer and said, "Thedoorknob to my office doesn't have much imagination, much designcontent. Will you design me a new doorknob?" He would say "Yes,"and after we establish a price he goes away. A week later hecomes back and says, "Mr. Eberhard, I have been thinking aboutthat doorknob. First we ought to ask ourselves whether a doorknob

    is the best way of opening and closing a door." I say, "Fine, Ibelieve in imagination, go to it." He comes back later and says,"You know, I have been thinking about your problem, and the onlyreason you want a doorknob is you presume you want a door to youroffice. Are you sure that a door is the best way of controllingegress, exit, and privacy?" "No, I'm not sure at all." "Well, Iwant to worry about that problem." He comes back a week later andsays, "The only reason we have to worry about the apertureproblem is that you insist on having four walls around youroffice. Are you sure that is the best way of organizing thisspace for the kind of work you do as a bureaucrat?" I say, "No,

    I'm not sure at all." Well, this escalates until (and this hasliterally happened in two contracts, although not exactly throughthis process) our physical designer comes back with a veryserious face. "Mr. Eberhard, we have to decide whethercapitalistic democracy is the best way to organize our countrybefore I can possibly attack your problem."

  • 8/2/2019 SYTEM Aanlysis and Design

    22/33

    On the other hand is the problem of infinite regression. Ifthis man faced with the design of the doorknob had said, "Wait.Before I worry about the doorknob, I want to study the shape ofman's hand and what a man is capable of doing with it," I wouldsay, "Fine." He would come back and say, "The more I thoughtabout it, there's a fit problem. What I want to study first ishow metal is formed, what the technologies are for making thingswith metal in order that I can know what the real parameters arefor fitting the hand." "Fine." But then he says, "You know, Ihave been looking at metal forming and it all depends onmetallurgical properties. I really want to spend three or fourmonths looking at metallurgy so that I can understand the problembetter." "Fine." After three months he will come back and say,"Mr. Eberhard, the more I look at metallurgy, the more I realizethat it is the atomic structure that's really at the heart ofthis problem." And so, our physical designer is in atomic physicsfrom the doorknob. That is one of our anxieties, the hierarchical

    nature of complexity.

    Eberhard (1970) quoted in Teague & Pidgeon (1985) and Yourdon(1989).Introduction

    The work of Christopher Alexander, a mathematician-turnedarchitect, has had a subtle and yet a profound impact on themethodologies for the development of information systems inbusiness. The main idea in architecture, espoused by Alexander,

    is that buildings and cities can be designed from the combinationof certain basic patterns. Such patterns can be documented asdiagrams which, in the architectural domain, specify spatialrelationships. In the domain of business (and accounting)information systems development, the task is to create languagesfor describing and manipulating patterns to create systems thatmeet the needs of business.

    In this note, we shall study the way in which information systemsare specified, and the methodology of Systems Development Life

    Cycle (SDLC) that is often used in the development of accountinginformation systems.

    Return to Contents

    Specification of Information Systems

  • 8/2/2019 SYTEM Aanlysis and Design

    23/33

    Why specifications?

    Specification of any system before its development is crucial.Specifications perform for information systems the same functionthat blue-prints and engineering specifications perform forphysical structures. Specifications serve as benchmarks forevaluating designs as well as their implementation. They alsofacilitate quality assurance via verification (are we buildingthe system right, ie., do the design and implementation meet thespecifications?) and validation ( are we building the rightsystem, ie., does the system meet the user needs?).

    Components of specifications

    Specification of an information system is given by their

    * Structure: How it is organised.* Function: What it does.* Behavior: How it responds to events and stimuli.* Data: Its meaning and organization.

    Most CASE tools co-ordinate information systems projects througha project or system dictionary. The function of the dictionary isto standardise the use of terms throughout the organisation andto serve as a repository of all common information in theproject. It enforces consistency as well as (relative)completeness of the specifications, and facilitates verification

    & validation of such specifications. It also serves as a means ofcommunication between the different persons on the informationsystems building team.The figure below shows the variouscomponents of the specifications and the modeling techniquesutilised. We will be studying some of those techniques in thiscourse.

    Return to ContentsMethodologies for Systems Development

    There are many methodologies for the development of information

    systems: Systems Development Life Cycle (SDLC), Data Structure-Oriented design, Object-Oriented design, Prototyping, amongothers. We shall, however, be concerned here primarily with SDLC.

    Systems Development Life Cycle:

    Referred to variously as the waterfall model and linear cycle,this methodology is a coherent description of the steps taken in

  • 8/2/2019 SYTEM Aanlysis and Design

    24/33

  • 8/2/2019 SYTEM Aanlysis and Design

    25/33

    * Isolation of the problem early in the process.

    It does, however, have some drawbacks:

    * Requires an all-or-nothing approach to systems development.Does not allow incremental development.

    * Requires very early isolation of the problem. In the realworld, often the problems are uncovered in the process ofdevelopment of systems.

    Return to ContentsStrategy in Analysis & Design

    The understanding and management of complexity is perhaps themost important task of the designer of an information system. Itis carried out bearing in mind the strategies of abstraction aswell as hierarchical ordering (divide & conquer).

    In the real world, an accounting information systems designer(systems designer for short) is rarely called upon to analyse anddesign a system from the scratch. Usually, such a system doesexist, but the client (user) is not quite satisfied with it. Thesystems designer starts with the documentation of the existingaccounting system, if it does not exist. Often, documentationpertaining to the existing system is contained in the auditworkpapers pertaining to the auditor's study of control riskassessment. However, since such documentation is not preparedwith a view to design a system, it is used only as a starting

    point in building the documentation to aid systems design.

    In this document, we shall study how abstraction and hierarchicalordering strategies are used to manage the complexity ofanalysing and designing the functions of an information system.

    The methodology of structured systems analysis & design providesa roadmap for the development of functional specifications for anaccounting information system, shown in the Figure below.

    The functional specifications are documented graphically inDataflow Diagrams (DFDs)described in the next section below.

    STEP 0: (Defining the scope of the system under study.) Thisaccomplished by drawing the context diagram for the system.

  • 8/2/2019 SYTEM Aanlysis and Design

    26/33

    STEP 1: (Documentation of how the existing system works.) This isaccomplished by drawing the Physical DFDs of the existing system.These DFDs specify the current implementation of the existingsystem, and would answer questions such as:

    * Who performs the tasks?* How they are performed?* When or how often they are performed?* How the data is stored (media)?* How the dataflows are implemented (media)?

    These physical DFDs may be levelled, or, if the system is notvery large, prepared all on a single DFD.

    STEP 2: (Documentation of what the existing system does.)This isdocumented in Logical DFDs of the existing system. Deriving theselogical DFDs of the existing system from the physical DFDs

    involve abstraction of all implementation details. Since thesystems designer would not like to be tied down by the currentimplementation of the system, all such details are abstracted.These logical DFDs are usually levelled in order to reduce theperceived complexity of the system, and balanced in order toassure consistency in the design.

    STEP 3: (Documentation of what the proposed system will do.)After step 2, the systems designer will examine why the existingsystem does not meet the user requirements, and how it can bemodified in order to meet such needs. The result is a set of

    logical DFDs which describe what the modified (proposed) systemwill do. These functional specifications are devoid ofimplementation considerations, and therefore rather abstractspecifications of the proposed system. These logical DFDs arealso levelled and balanced.

    STEP 4: (Documentation of how the proposed system will work.) Thelogical DFDs of the proposed system derived in step 3 above arethen examined to determine which implementation of it meets theuser requirements most efficiently. The result is a set ofphysical DFDs of the proposed system. They answer questions such

    as:

    * Who will perform the various tasks?* How they will be performed?* When or how often they will be performed?* How the data will be stored (media)?* How the dataflows will be implemented (media)?

  • 8/2/2019 SYTEM Aanlysis and Design

    27/33

    In this step, man-machine boundaries are drawn, and mediaselected for all dataflows & datastores.

    The function of any information system can be expressed in termsof transformation (processing) of certain inputs (which are data)into outputs (which are data too) where memory (which tooconsists of data) may need to be consulted (or updated). Thissuggests that two crucial elements in a system's description aredata and processing of data. A complete description of aninformation system demands description of both these elements. Infact, we can reduce this, in a mundane fashion to the equation:

    System = Data + Processing of data

    While it is impossible to describe an information systemexclusively in terms of data or its processing, it is possible tostudy a system's functions (what the system must do) in terms of

    the transformations it must perform of the data which is modeledseparately. A coherent description of the information system,however, would require that the models of data and its processingare not inconsistent. An information system's functions, whichdescribe its processing aspects, is modeled in the structuredsystems approach, as dataflow diagrams.Such a model of aninformation system is, for obvious reasons, referred to asfunctional model or process model.

    A dataflow diagram consists of external entities (represented byrectangles), processes (represented by either rounded rectangles

    or circles), data stores (represented by either an open rectangleor two parallel lines) and dataflows (represented by arrows).

    Return to Contents

    An ExampleA Toy Sales Order Entry & Processing System:

    I give below the functional specifications for a toy sales orderentry and processing system. The specifications given are for thelogical aspects of the system only, and therefore are,

    incomplete. They are also incomplete in that the behavior modelis absent. They are given as illustrations only. They consist of:

    * Context diagram* levelled logical dataflow diagrams* Relation specifications for a Relational Database* Specifications for the dataflows

  • 8/2/2019 SYTEM Aanlysis and Design

    28/33

    * Process descriptions in raw prolog code. (Prolog is arelational language. The code is given

    here, since prolog code is generally easily grasped). Thecode given here, with very minor

    changes, should be executable.

    I will not provide the physical DFDs below, since they areimplementation dependent, and I have not based this toy system onany real-world accounting system.

    We have yet to discuss the data models and databases. We will notbe discussing programming aspects of systems. Therefore, thedatabase specifications are given as a prelude to our classdiscussions on databases later in the semester. The code is givenjust for the purpose of appreciation.

    We are talking about a very small firm that considers orders from

    customers for one item. You should be able to add bells andwhistles as you wish. The situation considered is ratherunrealistic, but it makes important points about specificationsfor an accounting system and its documentation.Table of Contents

    * Context Diagram* Level 0 Logical Dataflow Diagram* Level 1 Logical DFD: Sales Order Entry Sub-system* Level 1 Logical DFD: Sales Order Processing Sub-system* Dataflow Specifications

    * Datastore Specifications* Process Specifications

    Context Diagram: (Sales Order Entry & Processing System)

    Return to Table of Contents (Example)Level 0 Logical Dataflow Diagram:(Sales Order Entry & ProcessingSystem)

    Return to Table of Contents (Example)Level 1 Logical Dataflow Diagram:(Sales Order Entry Sub-system)

    Return to Table of Contents (Example)Level 1 Logical Dataflow Diagram:(Sales Order Processing Sub-system)

    Return to Table of Contents (Example)Dataflow Specifications

  • 8/2/2019 SYTEM Aanlysis and Design

    29/33

    Syntax: dataflowName(attribute1, attribute2,.....)

    order(CustomerName, CustomerAddress, Item, Quantity)pricedOrder(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)weDontSell(CustomerName, CustomerAddress, Item)sorryBadCredit(CustomerName, CustomerAddress)approvedOrder(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)sorryNotInStock(CustomerName, CustomerAddress, Item)acceptedOrder(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)salesOrder(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)billOfLading(CustomerName, CustomerAddress, Item, Quantity)invoice(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)

    Return to Table of Contents (Example)Datastore Specifications

    Syntax:relationName(attribute1, attribute2,......)

    priceList(Item, Price)customerMaster(CustomerName, CustomerAddress, Balance,CreditLimit)inventoryMaster(Item, QuantityOnHand)salesOrderMaster(CustomerName, Item, Quantity, OrderPrice)

    billOfLading(CustomerName, Item, Quantity)openInvoices(CustomerName, Item, Quantity, OrderPrice)customer(CustomerName, CustomerAddress)order(CustomerName, CustomerAddress, Item, Quantity)

    Return to Table of Contents (Example)Process Specifications:

    Syntax:prolog clause

    /* Orders are priced by multiplying the quantity ordered by

    the *//* price for the item on the price list */

    pricedOrder(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)

    iforder(CustomerName, CustomerAddress, Item, Quantity),priceList(Item, Price),

  • 8/2/2019 SYTEM Aanlysis and Design

    30/33

    orderPrice is Price * Quantity.

    /* We don't sell the item ordered by the customer if such item*//* is not on the price list */

    weDontSell(CustomerName, CustomerAddress, Item)if

    order(CustomerName, CustomerAddress, Item, Quantity),not priceList(Item, _).

    /* A customer order for an item is approved if the order ispriced *//* and the account balance after the order is less than thecredit limit */

    approvedOrder(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)

    ifpricedOrder(CustomerName, CustomerAddress, Item,

    Quantity, OrderPrice),customerMaster(CustomerName, CustomerAddress, Balance,

    CreditLimit),NewBalance is Balance + OrderPrice,NewBalance < CreditLimit.

    /* A customer order is rejected on account of bad credit if the*//* order is priced and the account balance after the order*//* exceeds the credit limit for the customer*/

    sorryBadCredit(CustomerName, CustomerAddress)if

    pricedOrder(CustomerName, CustomerAddress, Item,

    Quantity, OrderPrice),customerMaster(CustomerName, CustomerAddress, Balance,CreditLimit),

    NewBalance is Balance + OrderPrice,NewBalance >= CreditLimit.

  • 8/2/2019 SYTEM Aanlysis and Design

    31/33

    /* A customer order is accepted if it is approved and thequantity on *//* hand of the item ordered is at least as much as the quantityordered */

    acceptedOrder(CustomerName, CustomerAddress, Item, Quantity,OrderPrice)

    ifapprovedOrder(CustomerName, CustomerAddress, Item,

    Quantity, OrderPrice),inventoryMaster(Item, QuantityOnHand),QuantityOnHand >= Quantity.

    /* A sales order is prepared if a customer order is accepted */

    salesOrder(CustomerName, CustomerAddress, Item, Quantity,

    OrderPrice)if

    acceptedOrder(CustomerName, CustomerAddress, Item,Quantity, OrderPrice),

    /* A bill of lading is prepared if a sales order is prepared*/

    billOfLading(CustomerName, CustomerAddress, Item, Quantity)if

    salesOrder(CustomerName, CustomerAddress, Item,Quantity, OrderPrice).

    /* An open invoice is prepared if a bill of lading is prepared*/

    openInvoices(CustomerName, Item, Quantity, OrderPrice)if

    billOfLading(CustomerName, CustomerAddress, Item,Quantity).

    /* A customer's account is updated by adding the order price tothe *//* current balance in the account if open invoice is prepared*/

    updateCustomerAccountsForInvoices

  • 8/2/2019 SYTEM Aanlysis and Design

    32/33

    ifopenInvoices(CustomerName, Item, Quantity, OrderPrice),retract(customerMaster(CustomerName, CustomerAddress,

    Balance, CreditLimit)),NewBalance is Balance + OrderPrice,assert(customerMaster(CustomerName, CustomerAddress,

    NewBalance, CreditLimit)).

    Return to Table of Contents (Example)References

    Alexander, C. (1971). Notes on the Synthesis of Form, 2d ed.Cambridge, MA: Harvard University Press.

    Alexander, C. (1979). A Timeless Way of Building. New York, NY:Oxford University Press.

    Eberhard, J. (1970) "We Ought to Know the Difference", inEngineering Methods in Environmental Design and Planning, Gary T.Moore, ed. Cambridge, Mass.: MIT Press. pp.364-365.

    Harel, D. (1987). Statecharts: A Visual Formalism for ComplexSystems. Science of Computer Programming, pp.231-274.

    Horner, K. (1993). Methodology as a Productivity Tool, inSoftware Productivity Handbook, J. Keyes (ed), New York, NY:Windcrest/McGraw-Hill, pp.97-117.

    Pressman, R. (1987). Software Engineering: A Practitioner'sApproach, 2d ed. New York, NY: McGraw-Hill.

    Teague, L and C. Pidgeon. (1985) Structured Analysis Methods forComputer Information Systems. Chicago, Ill.: Science ResearchAssociates.

    Yourdon, E. (1989) Modern Structured Systems Analysis. EnglewoodCliffs, NJ: Prentice Hall.

    Yourdon, E. (1993). A Natural Productivity in Object-Orientation,in Software Productivity Handbook, J. Keyes (ed), New York, NY:Windcrest/McGraw-Hill, pp.97-117.

    Return to Contents

    Updated on October 12, 1997 by Jagdish S. Gangolly.

  • 8/2/2019 SYTEM Aanlysis and Design

    33/33