Topic9 SDLC

Embed Size (px)

Citation preview

  • 8/8/2019 Topic9 SDLC

    1/61

    STIM5013 IT For Manager

    Discovering Computers 2010: Living in a Digital WorldChapter 14

    1

    Topic EightInformation Systems Development

  • 8/8/2019 Topic9 SDLC

    2/61

  • 8/8/2019 Topic9 SDLC

    3/61

    Obj ectives Overview

    Describe the varioustools used in object

    modeling

    Explain the activitiesperformed in the

    design phase

    Recognize the developprograms activity is

    part of systemdevelopment

    Discuss the activitiesperformed in the

    implementation phase

    Discuss the purpose of the activities

    performed in theoperation, support, and

    security phase

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    3See Page 619for Detailed Objectives

  • 8/8/2019 Topic9 SDLC

    4/61

    Wh at is System Development?

    System development is a set of activitiesused to build an information system

    A system is a set of components that

    interact to achieve acommon goal

    An informationsystem (IS) is a

    collection of hardware, software,

    data, people, andprocedures that worktogether to producequality information

    System developmentactivities are grouped

    into ph ases , and iscalled the systemdevelopment life

    cycle (SDLC)

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    4Page 620

  • 8/8/2019 Topic9 SDLC

    5/61

    Wh at is System Development?

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    5Pages 620 621Figure 12-1

  • 8/8/2019 Topic9 SDLC

    6/61

    Wh at is System Development?

    System development should follow three generalguidelines:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    6Page 621

    Group activities or tasks into phases

    Group activities or tasks into phases

    Involve users

    Involve users

    Define standards

    Define standards

  • 8/8/2019 Topic9 SDLC

    7/61

    Wh at is System Development?

    System development should involve representatives from eachdepartment in which the proposed system will be used

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    7Page 622Figure 12-2

  • 8/8/2019 Topic9 SDLC

    8/61

    Wh at is System Development?

    Pro ject management is the process of planning,scheduling, and then controlling the activities duringsystem development

    To plan and schedule a project efficiently, the projectleader identifies:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    8Page 623

    Project scope RequiredactivitiesTime estimatesfor each activity

    Cost estimatesfor each activity

    Order of activities

    Activities thatcan take place atthe same time

  • 8/8/2019 Topic9 SDLC

    9/61

    Wh at is System Development?

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    9Page 623Figure 12-3a

    Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Gantt Charts below Chapter 12

    A popular toolused to planand schedule

    the timerelationships

    among projectactivities is a

    Gantt chart

  • 8/8/2019 Topic9 SDLC

    10/61

    Wh at is System Development?

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    10Page 624Figure 12-3b

    Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click PERT Charts below Chapter 12

    A PERT chartalso can be

    used forplanning and

    scheduling time

  • 8/8/2019 Topic9 SDLC

    11/61

    Wh at is System Development?

    Feasi b ility is a measure of how suitable thedevelopment of a system will be to theorganization

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    11Pages 624 - 625

    Operationalfeasibility

    Schedulefeasibility

    Technicalfeasibility

    Economicfeasibility

  • 8/8/2019 Topic9 SDLC

    12/61

    Wh at is System Development?

    Documentation is the collection andsummarization of data and information

    A project notebook contains all documentation for asingle project

    Users and IT professionals refer to existingdocumentation when working with and modifyingcurrent systems

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    12Page 625

  • 8/8/2019 Topic9 SDLC

    13/61

    Wh at is System Development?

    During system development, members of the projectteam gather data and information using severaltechniques

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    13Pages 625 626Figure 12-4

    Reviewdocumentation Observe Survey

    Interview JAD Sessions Research

  • 8/8/2019 Topic9 SDLC

    14/61

    Wh o Initiates a SystemDevelopment Pro ject?

    A user may request a new or modified system

    Organizations may want to improve hardware, software, or other

    technology

    Situations beyond an organization s control might require a change

    Management might mandate a change

    A user may request a new or modified information system using a requestfor system services or a project request

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    14Page 626

  • 8/8/2019 Topic9 SDLC

    15/61

    Wh o Initiates a SystemDevelopment Pro ject?

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    15Page 627Figure 12-5

  • 8/8/2019 Topic9 SDLC

    16/61

    Planning P h ase

    The planning p h ase for a project begins when thesteering committee receives a project request

    Four major activities are performed:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    16Page 628

    Review and

    approve theproject requests

    Review and

    approve theproject requests

    Prioritize theproject requests

    Prioritize theproject requests

    AllocateresourcesAllocate

    resources

    Form a project

    developmentteam

    Form a project

    developmentteam

  • 8/8/2019 Topic9 SDLC

    17/61

    A nalysis P h ase

    The analysis p h ase consists of two majoractivities:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    17Pages 629 - 631

    Conduct a preliminaryinvestigation

    Determines anddefines the exactnature of the problemor improvementInterview the user whosubmitted the request

    Determines anddefines the exactnature of the problemor improvementInterview the user whosubmitted the request

    Perform detailedanalysis

    Study how the currentsystem works

    Determine the userswants, needs, andrequirementsRecommend a solution

    Study how the currentsystem works

    Determine the userswants, needs, andrequirementsRecommend a solution

  • 8/8/2019 Topic9 SDLC

    18/61

    A nalysis P h ase

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    18Pages 629 630Figure 12-6

    Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Feasibility Study below Chapter 12

  • 8/8/2019 Topic9 SDLC

    19/61

    A nalysis P h ase

    Process modeling (structured analysis and design) is ananalysis and design technique that describes processesthat transform inputs into outputs

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    19Page 631

    Entity-relationship

    diagrams

    Data flowdiagrams

    ProjectdictionaryClick to view Web Link,click Chapter 12, Click Web

    Link from left navigation,then click Process Modelingbelow Chapter 12

  • 8/8/2019 Topic9 SDLC

    20/61

    A nalysis P h ase

    An entity-relations h ipdiagram (ERD) is a toolthat graphically shows

    the connections amongentities in a systemEntities are objects inthe system that havedata

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    20Page 632Figure 12-7

  • 8/8/2019 Topic9 SDLC

    21/61

    A nalysis P h ase

    A data flow diagram(DFD) is a tool thatgraphically shows the

    flow of data in a system Data flows Processes Data stores Sources

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    21Page 632Figure 12-8

  • 8/8/2019 Topic9 SDLC

    22/61

    A nalysis P h ase

    The pro ject dictionary contains all thedocumentation and deliverables of a project

    Structured English is astyle of writing thatdescribes the steps ina process

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    22Page 633Figure 12-9

  • 8/8/2019 Topic9 SDLC

    23/61

    A nalysis P h ase

    A decision ta b le is a table thatlists a variety of conditionsand the actions thatcorrespond to each condition

    A decision tree also showsconditions and actions, but itshows them graphically

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    23Page 633

  • 8/8/2019 Topic9 SDLC

    24/61

    A nalysis P h ase

    Decision ta b le Decision tree

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    24Page 633Figures 12-10 12-11

  • 8/8/2019 Topic9 SDLC

    25/61

    A nalysis P h ase

    The data dictionary stores the data item s name,description, and other details about each dataitem

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    25Page 634Figure 12-12

  • 8/8/2019 Topic9 SDLC

    26/61

  • 8/8/2019 Topic9 SDLC

    27/61

    A nalysis P h ase

    A use case diagramgraphically shows howactors (users) interact

    with the informationsystemDiagrams areconsidered easy tounderstand

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    27Page 634Figure 12-13

  • 8/8/2019 Topic9 SDLC

    28/61

    A nalysis P h ase

    A class diagramgraphically showsclasses and subclasses

    in a systemEach class can have oneor more subclassesSubclasses use

    inheritance to inheritmethods and attributesof higher levels

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    28Page 635Figure 12-14

  • 8/8/2019 Topic9 SDLC

    29/61

    A nalysis P h ase

    The system proposal assesses the feasibility of each alternative solution

    The steering committee discusses the systemproposal and decides which alternative to pursue

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    29Pages 635 - 636

    Packagedsoftware

    Customsoftware Outsourcing

    Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Vertical Market Software below Chapter 12

  • 8/8/2019 Topic9 SDLC

    30/61

    Design P h ase

    The design p h ase consists of two major activities

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    30Page 638

    Acquire hardwareand software

    Develop all of thedetails of the new

    or modified

    information system

  • 8/8/2019 Topic9 SDLC

    31/61

    Design P h ase

    To acquire the necessary hardware and software:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    31Pages 638 - 640

    Use researchtechniques such ase-zines

    Identify technical

    specifications

    RFQ, RFP, or RFI issent to potentialvendors or VARs

    Solicit vendorproposals Various techniquesare used todetermine the bestproposal

    Test and evaluate

    vendor proposals

    Systems analystmakesrecommendation tosteering committee

    Make a decision

    Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click E-Zines below Chapter 12

  • 8/8/2019 Topic9 SDLC

    32/61

    Design P h ase

    The next step is to develop detailed designspecifications Sometimes called a physical design

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    32Page 640

    Databasedesign

    Input and

    outputdesign

    Programdesign

  • 8/8/2019 Topic9 SDLC

    33/61

    Design P h ase

    Systems analysts typically develop two types of designs for each input and output

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    33Page 641Figures 12-18 12-19

    Mockup Layout c h art

  • 8/8/2019 Topic9 SDLC

    34/61

    Design P h ase

    A prototype (proof of concept) is a working modelof the proposed system Prototypes have inadequate or missing documentation Users tend to embrace the prototype as a final system Should not eliminate or replace activities

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    34Pages 641 - 642

  • 8/8/2019 Topic9 SDLC

    35/61

    Design P h ase

    Computer-aided software engineering (CASE)tools are designed to support one or moreactivities of system developmentCASE tools sometimes contain the following tools:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    35Page 642

    Projectrepository Graphics Prototyping

    Qualityassurance

    Codegenerator Housekeeping

    Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click CASE Toolsbelow Chapter 12

  • 8/8/2019 Topic9 SDLC

    36/61

    Design P h ase

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    36Page 642Figure 12-20

  • 8/8/2019 Topic9 SDLC

    37/61

    Design P h ase

    Many people should review the detailed designspecifications

    An inspection is a formal review of any systemdevelopment deliverable A team examines the deliverables to identify errors

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    37Page 642

  • 8/8/2019 Topic9 SDLC

    38/61

    Implementation P h ase

    The purpose of the implementation p h ase is toconstruct the new or modified system and thendeliver it

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    38Page 643

    Develop

    programs

    Develop

    programs

    Install andtest the new

    system

    Install andtest the new

    systemTrain usersTrain users

    Convert tothe newsystem

    Convert tothe newsystem

  • 8/8/2019 Topic9 SDLC

    39/61

    Implementation P h ase

    The program development life cycle follows thesesteps:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    39Page 643

    1 Analyze the requirements

    2 Design the solution

    3 Validate the design

    4 Implement the design

    5 Test the solution

    6 Document the solution

  • 8/8/2019 Topic9 SDLC

    40/61

    Implementation P h ase

    Various tests should be performed on the newsystem

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    40Page 644

    Unit test

    Verifies thateachindividual

    program orobject worksby itself

    Verifies thateachindividual

    program orobject worksby itself

    Systems test

    Verifies thatall programsin an

    applicationworktogetherproperly

    Verifies thatall programsin an

    applicationworktogetherproperly

    Integrationtest

    Verifies thatanapplication

    works withotherapplications

    Verifies thatanapplication

    works withotherapplications

    Acceptancetest

    Checks thenew systemto ensure

    that it workswith actualdata

    Checks thenew systemto ensure

    that it workswith actualdata

  • 8/8/2019 Topic9 SDLC

    41/61

    Implementation P h ase

    Training involves showing users exactly how theywill use the new hardware and software in thesystem One-on-one sessions Classroom-style lectures Web-based training

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    41Page 644Figure 12-21

  • 8/8/2019 Topic9 SDLC

    42/61

    Implementation P h ase

    One or more of four conversion strategies can beused to change from the old system to the newsystem

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    42Pages 644 645Figure 12-22

  • 8/8/2019 Topic9 SDLC

    43/61

    Operation, Support, and Security P h ase

    The purpose of the operation, support, andsecurity p h ase is to provide ongoing assistance foran information system and its users after thesystem is implemented

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    43Page 645

    Performmaintenance

    activities

    Monitorsystem

    performance

    Assess systemsecurity

    Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Chief Security Officer below Chapter 12

  • 8/8/2019 Topic9 SDLC

    44/61

    Operation, Support, and Security P h ase

    A computer security plan should do the following:

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    44Page 646

    Identify allinformationassets of an

    organization

    Identify allsecurity risks

    that may causean information

    asset loss

    For each risk,identify the

    safeguards thatexist to detect,prevent, and

    recover from aloss

  • 8/8/2019 Topic9 SDLC

    45/61

    A lternatives to Conventional SDLCs

    Four Possibilities:a. Prototypingb. Joint Application Design

    c. Rapid ApplicationDevelopment

    d. Component BasedDevelopment

  • 8/8/2019 Topic9 SDLC

    46/61

    Prototyping

    Working model of a proposed system

    Instead of spending a lot of time producing very detailed

    specifications, the developers find out only what the userswant developers quickly create a prototype.

    This approach is also known as evolutionary development.

  • 8/8/2019 Topic9 SDLC

    47/61

    Joint A pplication Design

    Joint application design (JAD) is a group-based method forcollecting user requirements and creating system designs.

    In contrast to the SDLC requirements analysis, JAD has agroup meeting in which all users meet simultaneously withanalysts.

  • 8/8/2019 Topic9 SDLC

    48/61

    R apid A pplication Development

    Rapid application development (RAD) is a methodology andtools that make it possible to develop systems faster,especially systems where the user interface is an importantcomponent.

    Typical RAD packages include the following:

    GUI development environment

    Reusable componentsCode generatorProgramming language

  • 8/8/2019 Topic9 SDLC

    49/61

    Component- based Development

    Components are self-contained packages of functionalitythat have clearly defined, open interfaces with high-levelapplication services such as, interface icons (small), onlineordering (a business component)

    Components can be distributed dynamically for reuse acrossmultiple applications and heterogeneous computingplatforms.

  • 8/8/2019 Topic9 SDLC

    50/61

    Managerial Considerations

    The traditional SDLC approach often works well for largeprojects with well-defined requirements, where there is not alot of time pressure.

    Prototyping requires effective management to make sure thatthe iterations of prototyping do not continue indefinitely.

    RADmay be less appropriate than conventional programminglanguages for larger projects, or those with a lot of real-time

    processing.JAD is easy for senior management to understand, yet it isdifficult and expensive to get all people in the same place at thesame time.

  • 8/8/2019 Topic9 SDLC

    51/61

    Managerial Considerations ( cont.)

    A component-based application architecture providesseveral business benefits, but the execution of component-based development requires special training and skill.

    End-user development is also a possibility for largerprojects whose priorities are not high enough to lead to atimely response from the central IS unit.

    Outsourcing should always be considered by large andcomplex systems with a significant risk of failure, yet thedisadvantages should be reviewed carefully.

  • 8/8/2019 Topic9 SDLC

    52/61

    WHY SOFTW ARE PR OJE CTS FA IL

    Discovering Computers 2010: Living in a Digital WorldChapter 12

    52

  • 8/8/2019 Topic9 SDLC

    53/61

    Most Pro jects Start wit h Optimism

    ... and sometimes evenwild enthusiasm

  • 8/8/2019 Topic9 SDLC

    54/61

  • 8/8/2019 Topic9 SDLC

    55/61

    Cause: Inadequate Engineeringand Management Practices

    ... and too often wedo not look to the futureto guide our actions today .

  • 8/8/2019 Topic9 SDLC

    56/61

    Background

    Software failures are common in both large commercial projectsand government projects.

    Organizations do not routinely collect data on their softwarecosts, schedules, or quality.

    The material cited herein is based on public domainpublications and past DoD studies.

  • 8/8/2019 Topic9 SDLC

    57/61

    A Survey of 1,500 Software Pro jects

    L ate andover budget

    Averagecost growth

    exceeds 89%

    Projectscanceledbeforecompletion

    Software projectscompleted on timeand on budget

    The average final product contains 61% of the originallyspecified features.

    16%

    31%

    53%

    Ref: CHAOS Study, Standish Group, Summer 1996, 1999.

  • 8/8/2019 Topic9 SDLC

    58/61

    One Common C h aracteristic:Too Muc h Effort Spent on R ework

    State of Practice

    * Ref: Standish Group, www.standishgroup.com, 1996, 1999.a

    Development Integration and System Test

    60 - 80 % of effort and cost*

    too much effort, time, and cost spent on removing defects

    found during testing (software quality is important!)

  • 8/8/2019 Topic9 SDLC

    59/61

    Top 10 R easons for Software Failures

    1. Insufficient senior staff and/or inexperienced softwareengineering cadre

    2. Acquirers and developers lack experience working as ateam

    3. Inadequate contract incentives to encourage use of modern software engineering practices

    4. Inadequate process emphasis

    5. Inadequate project management methodology

  • 8/8/2019 Topic9 SDLC

    60/61

    Top 10 R easons for Software Failures

    6. Software objectives are not fully understood or specified;they change frequently (and grow) during the project

    7. Size matters large projects get into trouble more frequentlythan smaller ones do

    8. Inadequate planning and estimating

    9. Software issues are considered too late in the system-development process

    10. Technology used is new to the organization

  • 8/8/2019 Topic9 SDLC

    61/61

    Defense Science Board (DS B) R ecommendations*

    1. Collect, disseminate and employ best practices

    2. Stress software past performance, consider

    non-traditional sources

    3. Restructure contract incentives

    4. Develop serious training and education

    5. Initiate independent expert reviews

    6. Strengthen the technology base*