
Transcription
Information Systems Development Life Cycle(SDLC)- Unit 2 -5203 Systems and Infrastructure Lifecycle Management1
Agenda Information System Development Lifecycle (SDLC) Models andMethods IT Auditor’s Role In-Class Exercise Quiz Next week 5203 Systems and Infrastructure Lifecycle Management2
Information System Development Lifecycle MethodsSoftware development lifecycle (SDLC) models are formal managementprocesses for guiding the development of information systemsThese include: Waterfall Models – 1970’s and 1980’s Waterfall Structured Systems Analysis and Design Method (SSADM) Spiral and Iterative Models – 1980’s and 1990’s Structured Rapid PrototypingRapid Application development (RAD)Agile ModelsRational Unified ModelIf execution of the SDLC methodology is inadequate, however, the project may fail to meet business and user needs. IS Auditor is responsible for verifying that the SDLC model is appropriate for the project’s goals and isproperly implemented5203 Systems and Infrastructure Lifecycle Management3
Waterfall SDLC ModelNext phase begins when prior phase completesA seven-stage structured approach providing asystematic process for developing large informationsystemsRoyce, W.W. (1970) “Managing the Development of Large Software Systems” , in Proceedings of IEEE WESCON, pp.1-95203 Systems and Infrastructure Lifecycle Management4
Waterfall SDLC Model As each information systemdevelopment stage iscompleted, the projectmoves into the next phase Backward arrows indicate feedback loops whichallow development to return to the previousphase to correct defects discovered during thesubsequent phase5203 Systems and Infrastructure Lifecycle Management5
Waterfall ModelA structure systematic approach based onformal documentation providing asystematic process for developing largeinformation systems“Measure twice, cut once!”Royce, W.W. (1970) “Managing the Development of Large Software Systems” , in Proceedings of IEEE WESCON, pp.1-95203 Systems and Infrastructure Lifecycle Management6
Waterfall Model – Pros and ConsPros Structured Worked well when requirementswere well defined For large projects with enoughtime available5203 Systems and Infrastructure Lifecycle ManagementCons Too much documentation Making changes becomes difficultduring SDLC Poor speed to market Delayed implementation too long7
Waterfall Model with Verification and Validation5203 Systems and Infrastructure Lifecycle Management8
History - Information System Development Methods 1970 – Waterfall Model 1980’s – Structured Systems Analysis and Design Method (SSADM) A structured systems approach that applies the Waterfall Model tothe analysis and design of information systems Produced for the Central Computer and TelecommunicationsAgency, a UK government office concerned with the use oftechnology in government Pinnacle of rigorous document-led approach to system design, andcontrasts with more contemporary iterative methods Built on different prior structured analysis and developmentmethods, such as: structured design, structured method, andstructured analysis5203 Systems and Infrastructure Lifecycle d systems analysis and design method
Structured Systems Analysis and Design Method (SSADM)Techniques:1. Logical data modeling Process of identifying, modeling and documenting the data requirements of the system being designed Result is a data model containing: Entities - things about which a business needs to record information Attributes - facts about the entities Relationships - associations between the entities2. Data Flow Modeling Process of identifying, modeling and documenting how data moves around an information system Examines: Processes (activities that transform data from one form to another)Data stores (the holding areas for data)External entities (what sends data into a system or receives data from a system),Data flows (routes by which data can flow3. Entity Event Modeling A 2-part process:1. Entity Behavior Modeling - identifying, modeling and documenting the events that affect each entity and thesequence (or life history) in which these events occur2. Event Modeling - designing for each event the process to coordinate entity life histories5203 Systems and Infrastructure Lifecycle ed systems analysis and design method
Structured Systems Analysis and Design Method (SSADM)Stages:The SSADM method involves the application of a sequence of analysis, documentationand design tasks concerned with the following:0.1.2.3.4.5.6.Feasibility studyInvestigation of current environmentBusiness system optionsRequirements specificationTechnical system optionsLogical designPhysical design5203 Systems and Infrastructure Lifecycle ed systems analysis and design method
Structured Systems Analysis and Design Method (SSADM)Stage 0. Feasibility studyInvestigation focuses on the goals and implications to determine if a project is feasible For very small scale projects this may not be necessary if scope of the project is easily understood In larger projects, feasibility may be done informally because there is no time for a formal study orbecause the project is a “must-have” and will have to be done one way or the otherAreas of consideration:1.2.3.4.Technical – is the project technically possible?Financial – can the business afford to carry out the project?Organizational – will the new system be compatible with existing practices?Ethical – is the impact of the new system socially acceptable?To answer these questions, the feasibility study is effectively a condensed version of a fully blown systemsanalysis and design Users and requirements are analyzed to some extent, business options are identified, some details of thetechnical implementation may be included.Feasibility study product is a formal feasibility study documentContains preliminary models that have been constructed, details of rejected options and the reasons fortheir rejectionhttps://en.wikipedia.org/wiki/Structured systems analysis and design method5203 Systems and Infrastructure Lifecycle Management12
Structured Systems Analysis and Design Method (SSADM)Stage 1. Investigation of current environmentRecognizes that in almost all cases there is some form of current system even if it isentirely composed of people and paperBased on a combination of interviewing employees, circulating questionnaires,observations and existing documentationProduct of this stage is the analyst’s full understanding of the system in it “As Is”condition at the start of the project5203 Systems and Infrastructure Lifecycle ed systems analysis and design method
Structured Systems Analysis and Design Method (SSADM)Stage 2. Business system optionsThe analyst leverages an understanding of the existing system to decide on the overall design of the newsystem and develop a set of business system options These are different ways in which the new system could be produced varying from doing nothing to throwing out the oldsystem entirely and building an entirely new one The analyst may hold a brainstorming session so that as many and various ideas as possible are generatedIdeas are collected and options presented to the user.Options: Degree of automation Boundary between the system and the users Distribution of the system, for example, is it centralized to one office or spread out across several? Cost/Benefit Impact of the new systemWhere necessary, the option will be documented with a logical data structure and high-level data-flow diagramUsers and analyst together choose a single business option This may be one of the ones already defined or may be a synthesis of different aspects of the existing optionsProduct of this stage is the single selected business option together with all the outputs of the feasibility stage5203 Systems and Infrastructure Lifecycle ed systems analysis and design method
Structured Systems Analysis and Design Method (SSADM)Stage 3. Requirements specificationThe analyst develops a full logical specification of what the new system must do Does not say how the system will be implemented, but rather describes what the system will do Must be free from error, ambiguity and inconsistencyTo produce the logical specification, the analyst builds logical models for both: Data-Flow Diagrams (DFDs) Logical Data Model (LDM) Consisting of the Logical Data Structure (referred to in other methods as Entity Relationship diagrams) and full descriptions of the data and itsrelationshipsThese are used to produce: Functional specifications for every function which the users will require of the system Entity Life-Histories (ELHs) which describe all events through the life of an entity, Effect Correspondence Diagrams (ECDs) which describe how each event interacts with all relevant entitiesThese are continually matched against the requirements and where necessary – requirements are added to and completedProduct of this stage is a complete requirements specification document made up of: Data catalogue Requirements catalogue Processing specification which in turn is made up of: user role/function matrixfunction definitionsrequired logical data modelentity life-historieseffect correspondence diagramshttps://en.wikipedia.org/wiki/Structured systems analysis and design method5203 Systems and Infrastructure Lifecycle Management15
Structured Systems Analysis and Design Method (SSADM)Stage 4. Technical system optionsThis stage is the first step towards a physical implementation of the new systemLike Business System Options (Stage 2), this stage generates, considers, and narrows down a largenumber of options for implementing the new system to two or three to present to the user from whichthe final option is chosen or synthesizedHowever, the considerations are quite different, being: Hardware architectures Software to use Cost to implement Staff required Physical limitations of the space occupied by the system Distribution and networks which may be require Overall format of the human computer interfaceAll of these aspects must also conform to any constraints imposed by the business such as regulations,available money, standardization of hardware and software, integration with enterprise architectureProduct of this stage is a chosen technical system option5203 Systems and Infrastructure Lifecycle ed systems analysis and design method
Structured Systems Analysis and Design Method (SSADM)Stage 5. Logical designConcentrates on requirements for the human computer interfaceSpecifies the main methods users will interact with the system, in terms of: Menu and command structures User dialoguesAnalyzes effects of events in Updating the system Making inquiries about the dataBoth of these use the events, function descriptions and effect correspondence diagrams produced inStage 3 to determine precisely how to update and read data in a consistent and secure wayProduct of this stage is the logical design, made up of: Data catalogue Required logical data structure Logical process model – includes dialogues and model for the update and inquiry processes5203 Systems and Infrastructure Lifecycle ed systems analysis and design method
Structured Systems Analysis and Design Method (SSADM)Stage 6. Physical designFinal stage where all the logical specifications of the system are converted todescriptions of the system in terms of real hardware and softwareThis is a very technical stage: Logical data structure is converted into a physical database structures Exact structure of functions and how they are implemented is specified Physical data structures are optimized to meet size and performance requirementsProduct of this stage is a complete Physical Design which tells software engineers howto build the system in specific details of hardware and software and to the appropriatestandards5203 Systems and Infrastructure Lifecycle ed systems analysis and design method
SSADM’s Waterfall SDLC ModelMajor criticism Model allows developers to stepback only one phase in the process Does not make provisions fordiscovery of errors at a later phasein the development cycle5203 Systems and Infrastructure Lifecycle Management19
Problems with Waterfall and SSDM IS DevelopmentSoftware design not tested until aftercoding of the information system iscomplete after most of the scheduled developmentproject milestones have passed after most of the budget is spentWhat are the implications of not finding a “high-impact” problem until the system is in production?5203 Systems and Infrastructure Lifecycle Management20
Problems with Waterfall and SSDM IS DevelopmentWaterfall model delays evaluation of theinformation system until testing ArchitectureConstructionPost-ReleaseRelative Cost of Fixing DefectsBased on When Introduced and DetectedMcConnell, S. (2004) Code Complete, Second Edition, Microsoft PressAn architecture defect that would cost 1,000 to fix during Program Design maycost 15,000 to fix during system test phase5203 Systems and Infrastructure Lifecycle Management21
Problems with Waterfall and SSDM IS DevelopmentWaterfall model assumes allrequirements are completely known andaccurately specified up frontStakeholders UsersInformation SystemRequirements Analystshistorically focused on thosewith approval authority and often overlooked critical informationsystem requirements of day-to-dayinformation system usersAnalystsWhat are the implications of not finding a “high-impact” problem until the system is in production?5203 Systems and Infrastructure Lifecycle Management22
Problems with Waterfall and SSDM IS DevelopmentAn overlooked or misunderstood userrequirement costing 1,000 to fix whenrequirements were determined can cost 10,000 to fix in Testing or as much as 100,000 to fix in Post-Release tive Cost of Fixing DefectsBased on When Introduced and DetectedMcConnell, S. (2004) Code Complete, Second Edition, Microsoft Press5203 Systems and Infrastructure Lifecycle Management23
Problems with Waterfall and SSDM IS DevelopmentMcConnell, S. (2004) Code Complete, Second Edition, Microsoft Press5203 Systems and Infrastructure Lifecycle Management24
Iterative and Spiral IS Development MethodsAlternative Software Development Life Cycle (SDLC) models allow formultiple iterations of a waterfall-style approachThese encapsulate a number ofiterations of another model (i.e.waterfall model) and are known as metamodels or“model of models”5203 Systems and Infrastructure Lifecycle Management25
Spiral SDLCEach “loop” of the spiral results indevelopment of new informationsystem prototype releaseSystem developers apply the entirewaterfall process to develop eachprototype Incrementally working toward acomplete system that incorporates andvalidates all functional requirements Solved the major criticism of theWaterfall model Allows developers to return toplanning stages as changing customerrequirements and technical demandsnecessitate evolution of the system5203 Systems and Infrastructure Lifecycle Management26
Rapid Application Development (RAD)RAD approaches to softwaredevelopment put less emphasis onplanning and more emphasis on anadaptive process Prototypes are often used inaddition to or sometimes even inplace of design specifications RAD is especially well suited for(although not limited to) developingsoftware that is driven by userinterface requirements5203 Systems and Infrastructure Lifecycle ManagementPrototypes’ advantage over traditionalspecifications:Risk reduction (Key Benefit of RAD Approach) Prototype testing the most difficult potential partsof the system early on in the life-cycle providesvaluable information about feasibility of a designand can prevent the team from pursuing solutionsthat turn out to be too complex, time consumingand expensive to implementBetter way to get requirements Users are better at using and reacting toprototypes than at creating specifications Most users give much more useful feedback whenthey can experience a prototype of the runningsystem rather than abstractly define what thatsystem should be Prototypes can be usable and can evolve into thecompleted product27
Rapid Application Development (RAD)4 Phase approach:1.Requirements planning phase Combines elements of system planning and systems analysis phases of SDLC Users, managers, and IT staff members discuss and agree on business needs, project scope, constraints, and systemrequirements Ends when team obtains management authorization to continue2.User design phase Users work with systems analysts to develop models and prototypes representing all system processes, inputs, and outputs Typically uses Joint Application Development (JAD) technique and CASE tools to translate user needs into working models User Design is a continuous interactive process that allows users to understand, modify, and eventually approve a workingmodel of the system that meets their needs3.Construction phase Focuses on application development task but in RAD users continue to participate and can still suggest changes orimprovements as actual screens or reports are developed Tasks are coding, unit-integration and system testing4.Cutover phase Includes data conversion, testing, changeover to new system, and user training Compared with traditional methods, the entire process is compressed As a result, the new system is built, delivered, and placed in operation much sooner5203 Systems and Infrastructure Lifecycle Management28
Agile SDLCConsidered antidote to downside ofrigid SDLC models of the past Emphasizes the needs of thecustomer Quickly develops new softwarefunctionality to meet customer needsin an iterative fashion5203 Systems and Infrastructure Lifecycle Management29
Agile SDLChttp://agilemanifesto.org/Has many variants, including: Scrum Agile Unified Process (AUP) Dynamic Systems Development Model (DSDM) Extreme Programming (XP)5203 Systems and Infrastructure Lifecycle Management30
Spiral, Iterative and Agile SDLC methods Prototyping-Evolutionary Development Rapid Application Development (RAD) Agile DevelopmentAddress difficulty of obtaining completeaccurate requirements up front byrecognizing users are: Imperfect at imagining what is possible Not good at explaining what they need Very good at criticizing what they seeRapidly creates and evolves IS versions 5203 Systems and Infrastructure Lifecycle ManagementQuickly delivers incremental progressEnables mid-course correctionsEngages users’ understanding and buy-inGains user feedback and engagement inprocess and system improvement31
Modern Systems Analysis and Design Textbook’s SDLC ApproachAnalysis–design–code–test loopThe heart of systems developmentCombines analysis, design, and implementation into a single iterative process of activitiesValacich, J.S. and George, J.F. (2017), Modern Systems Analysis and Design5203 Systems and Infrastructure Lifecycle Management32
Computer-Aided Software Engineering (CASE) ToolsSoftware application programs used to automate SDLC activities Used by software project managers, analysts and engineers to develop softwaresystem Include:o Requirements Analysis toolso Software Design toolso Software Code Generation toolso Database Management toolso Documentation toolsGeoprocessing model built withESRI ModelBuilder CASE tool5203 Systems and Infrastructure Lifecycle Management33
Software Capability Maturity Model SW-CMMCreated by Software Engineering Institute (SEI) at Carnegie Mellon UniversityOrganizations engaged in software development move through a sequence of maturity phases:Level 1: InitialHardworking people charging ahead in a disorganized fashion. Little or no defined software developmentprocessLevel 2: RepeatableBasic lifecycle management processes introduced. Code reuse and repeatable results expected from similarprojects.Key process areas: Requirements management, Project planning and tracking, oversight, Subcontractmanagement, Quality assurance, and Configuration ManagementLevel 3: DefinedSoftware developers are trained and development projects take place within a standardized process modeland follow formal documented software development processesLevel 4: ManagedQuantitative measures provide a detailed understanding of the development and qualitative processesLevel 5: OptimizingContinuous improvement processes are based on feedback from one phase reaching previous phase toimprove future results.Key process areas include: Defect prevention, Technology change management and Process changemanagement5203 Systems and Infrastructure Lifecycle Management34
IT Auditor’s Role in Information System DevelopmentTwo alternative approaches1. Review end-stage deliverables throughout development process, withoutbecoming part of the process Auditor reviews each stage’s deliverables to ensure:i.ii.What was planned from the previous stage has been accomplished and the planning of thenext stage has been refined appropriatelyPlanning of the next stage has been refined appropriately2. Internal control consultant, becoming part of systems development process. Auditor provides ongoing proactive recommendations by participating in selectedproject-management meetings including: risk-assessment, systems-design,development, and systems delivery meetings Auditor’s independence may be compromised, but this is mitigated by another auditorwho should find a system with well-designed controls incorporated5203 Systems and Infrastructure Lifecycle Management35
IT Auditor’s Role in Information System DevelopmentProduce and provide formal audit reports to the appropriate businessmanagers including:1. Overall assessment of the controlled progress of the project2. Areas requiring improvement to complete the project, as specified, withinbudget and at an appropriate level of qualityRequires an in-depth understanding of both:1. The overall information systems development processes adopted2. The business processes being computerized5203 Systems and Infrastructure Lifecycle Management36
In-class exercise1. Start up Microsoft Project 20192. Select Software Development Plan Template3. What do you see within MS Project?5203 Systems and Infrastructure Lifecycle Management37
In-class exercise4. Pull the GANTT chart window up A Gantt chart is a type ofbar chart that illustrates aproject scheduleNamed after its inventor,Henry Gantt (1861–1919),who designed such a chartaround the years 1910–1915Modern Gantt charts alsoshow the dependencyrelationships betweenactivities (“tasks”) andcurrent schedule status5203 Systems and Infrastructure Lifecycle Management38
Analyze the software development project planWhat dependencies can you see among activities?5203 Systems and Infrastructure Lifecycle Management39
Which SDLC methodology isevident in this project plan?40
What risks threaten projects based on the kind ofSDLC project methodology implied by this plan?5203 Systems and Infrastructure Lifecycle Management41
In-class exercise1. Pair up with a classmate and work together2. Save a copy of the Software Development project Plan as “MyRAD Project”3. Edit the project plan and transform it into a RAD (Rapid ApplicationDevelopment) project plan4. Present your results to the class5203 Systems and Infrastructure Lifecycle Management42
Quiz1.Which one of the following statements about the SDLC is correct?a.b.c.d.The SDLC requires the use of an iterative approach to software developmentThe SDLC requires the use of a sequential approach to software developmentThe SDLC does not include training for end users and support staffThe waterfall methodology is compatible with the SDLC2.When using the SDLC, which one of these steps should be taken before the others?a.Functional requirements determinationb.Control specifications developmentc.Code reviewd.Design review3.When should design take place in following an SDLC approach to software development?a.After the code reviewb. After user acceptance testingc.After the development of functional requirementsd. After the completion of unit testing4.What is the main reason for reviews at the end of each phase in the SDLC?a.b.c.d.Funding approval to continue developmentApproval by management to proceed to the next phase or possibly kill the project (“stage gate”)Design and code familiarityInternal Auditor compliance5203 Systems and Infrastructure Lifecycle Management43
Quiz1.Which one of the following statements about the SDLC is correct?a.b.c.d.The SDLC requires the use of an iterative approach to software developmentThe SDLC requires the use of a sequential approach to software developmentThe SDLC does not include training for end users and support staffThe waterfall methodology is compatible with the SDLC2.When using the SDLC, which one of these steps should be taken before the others?a.Functional requirements determinationb.Control specifications developmentc.Code reviewd.Design review3.When should design take place in following an SDLC approach to software development?a.After the code reviewb. After user acceptance testingc.After the development of functional requirementsd. After the completion of unit testing4.What is the main reason for reviews at the end of each phase in the SDLC?a.b.c.d.Funding approval to continue developmentApproval by management to proceed to the next phase or possibly kill the project (“stage gate”)Design and code familiarityInternal Auditor compliance5203 Systems and Infrastructure Lifecycle Management44
Next week 1.Practice using the CalculateProjectNPV B.xlsx spreadsheet to calculate costs andbenefits for the Customer Tracking System (Pine Valley Furniture) as you read Chapter5 in Modern Systems Analysis and Design (MSAD). Apply the spreadsheet to illustrate:A.B.C.2.Apply the CalculateProjectNPV B.xlsx spreadsheet to Case Study 1: Teradata DataMart Consolidation Return on Investment at GST to illustrate:A.B.C.3.Cash flow analysisUse of Net Present Value (NPV) in calculating Return on Investment (ROI)Break even analysisCash flow analysisUse of NVP in calculating ROI for the Data Mart Pilot ProjectBreak even analysisHow does the project structure illustrated in the Microsoft Project SoftwareDevelopment Plan template compare with the project plan presented in Exhibit 10 ofthe Teradata Data Mart Consolidation ROI case lection/5203 Systems and Infrastructure Lifecycle Management45
Agenda Information System Development Lifecycle (SDLC) Models andMethods IT Auditor’s Role In-Class Exercise Quiz Next week 5203 Systems and Infrastructure Lifecycle Management46
moves into the next phase Backward arrows indicate feedback loops which allow development to return to the previous phase to correct defects discovered during the subsequent phase 5203 Systems a