Approaches Sdl c

download Approaches Sdl c

of 84

Transcript of Approaches Sdl c

  • 7/22/2019 Approaches Sdl c

    1/84

    1

    Approaches to System DevelopmentApproaches to System Development

    Information Systems Analysis and Design

    Shah Masud

  • 7/22/2019 Approaches Sdl c

    2/84

    Lecture OutlineLecture Outline

    Systems Development Life CycleSystems Development Life Cycle

    Phases and Activities in the SDLCPhases and Activities in the SDLC

    Variations of the SDLC modelsVariations of the SDLC models

    Selecting the appropriate modelSelecting the appropriate model

    MethodologiesMethodologies of the SDLCof the SDLC

    Traditional Approach to SDLCTraditional Approach to SDLC

    Information ngineering Approach to SDLCInformation ngineering Approach to SDLC

    O!"ect#Oriented Approach to SDLCO!"ect#Oriented Approach to SDLC

    $apid Application Development$apid Application Development

    Current trends in the SDLCCurrent trends in the SDLC

    CAS ToolsCAS Tools2Shah Masud

  • 7/22/2019 Approaches Sdl c

    3/84

    Systems Development Life CycleSystems Development Life Cycle

    Systems development life cycleSystems development life cycle(SDLC)

    Provides overall frame%or&overall frame%or&for managing systems

    development process

    Two main approaches to SDLC

    Predictive approachPredictive approach assumes project can e

    planned out in advanceAdaptive approachAdaptive approach more fle!ile" assumes project

    cannot e planned out in advance

    #ll projects use some variation of SDLC3Shah Masud

  • 7/22/2019 Approaches Sdl c

    4/84

    Predictive vs' Adaptive Approach to the SDLCPredictive vs' Adaptive Approach to the SDLC

    4Shah Masud

  • 7/22/2019 Approaches Sdl c

    5/84

  • 7/22/2019 Approaches Sdl c

    6/84

    6

    Systems Development Life CycleSystems Development Life Cycle

    Shah Masud

  • 7/22/2019 Approaches Sdl c

    7/84

    Systems Life CycleSystems Life Cycle

    7Shah Masud

  • 7/22/2019 Approaches Sdl c

    8/84

    Activities of ach SDLC PhaseActivities of ach SDLC Phase

    Predictive or adaptive approach use SDLC

    #ctivities of each &phase' are similar

    Phases are not always se$uential

    Phases can overlap

    #ctivities across phases can e done withinan iteration

    8Shah Masud

  • 7/22/2019 Approaches Sdl c

    9/84

  • 7/22/2019 Approaches Sdl c

    10/84

  • 7/22/2019 Approaches Sdl c

    11/84

    Design ActivitiesDesign Activities

    Design and integrate the networ%

    Design the application architecture

    Design the user interfaces

    Design the system interfaces

    Design and integrate the dataase

    Prototype for design details

    Design and integrate system controls 11Shah Masud

  • 7/22/2019 Approaches Sdl c

    12/84

    Implementation ActivitiesImplementation Activities

    Construct software components

    -erify and test

    Convert data

    Train users and document the system

    .nstall the system

    12Shah Masud

  • 7/22/2019 Approaches Sdl c

    13/84

  • 7/22/2019 Approaches Sdl c

    14/84

  • 7/22/2019 Approaches Sdl c

    15/84

  • 7/22/2019 Approaches Sdl c

    16/84

  • 7/22/2019 Approaches Sdl c

    17/84

    Overlap of activitiesOverlap of activities

    17Shah Masud

  • 7/22/2019 Approaches Sdl c

    18/84

    ++,aterfall- Approach0 pros and cons,aterfall- Approach0 pros and cons

    18

    The two key advantages of the waterfall model:Identifying system requirements long before programming beginsIt minimizes changes to the requirements as the project proceeds

    The key disadvantages:The design must be completely specified on paper before programming beginsA long time elapses between the completion of the system proposal in the analysis

    phase and the delivery of the system (usually many months or years)

    A paper document is often a poor communication mechanism! so importantrequirements can be overloo"ed in the hundreds of pages of documentation

    #sers rarely are prepared for their introduction to the new system! which occurs longafter the initial idea for the system was introduced

    If the project team misses important requirements! e$pensive post%implementationprogramming may be needed

    A system may require significant rewor" because of changes in business environmentsince the time the analysis phase occurred It means going bac" to the initial phasesand following the changes through each of the subsequent phases in turn

    Shah Masud

  • 7/22/2019 Approaches Sdl c

    19/84

    The Parallel ModelThe Parallel Model

    TheParallel Modelattempts to address the prolem of longdelays etween the analysis phase and the delivery of thesystem2

    .nstead of doing the design and implementation in se$uence"

    it performs a general design for the whole system and thendivides the project into series of distinct suprojects that cane designed and implemented in parallel

    3nce all suprojects are complete" the final integration of theseparate pieces is delivered

    19Shah Masud

  • 7/22/2019 Approaches Sdl c

    20/84

    The Parallel ModelThe Parallel Model

    2Shah Masud

  • 7/22/2019 Approaches Sdl c

    21/84

    Parallel Model0 pros and consParallel Model0 pros and cons

    Primary advantages0

    Can reduce the schedule time re$uired to deliver a system

    There is less chance of changes in the usiness environmentcausing rewor%

    1ey disadvantages0

    Still suffers from prolems caused y paper documentation

    # new prolem4 sometimes the suprojects are notcompletely independent5 design made in one suproject may

    affect another and the end of the project may re$uiresignificant integrative efforts

    21Shah Masud

  • 7/22/2019 Approaches Sdl c

    22/84

  • 7/22/2019 Approaches Sdl c

    23/84

  • 7/22/2019 Approaches Sdl c

    24/84

  • 7/22/2019 Approaches Sdl c

    25/84

  • 7/22/2019 Approaches Sdl c

    26/84

    Iteration of System Development ActivitiesIteration of System Development Activities

    26Shah Masud

  • 7/22/2019 Approaches Sdl c

    27/84

    Phased Development ModelPhased Development Model

    +rea%s the overall system into a series of versionsthat are developedse$uentially

    The analysis phase identifies the overall system concept2 The project team"users and system sponsors categorie the re$uirements into a series ofversions

    The most important and fundamental re$uirements are undled into thefirst version of the system2 The analysis phase then leads into design andimplementation" ut only with the set of re$uirements identified forversion 9

    3nce version 9 is implemented" wor% egins on version :2 #dditionalanalysis is performed on the asis of the previously identified re$uirementsand comined with new ideas and issues that arose from users; e!periencewith version 92

    -ersion : then is designed and implemented" and wor% immediately eginson the ne!t version2 This process continues until the system is complete

    27Shah Masud

  • 7/22/2019 Approaches Sdl c

    28/84

  • 7/22/2019 Approaches Sdl c

    29/84

    Phased Model0 pros and consPhased Model0 pros and cons

    Advantages0

  • 7/22/2019 Approaches Sdl c

    30/84

    3ust 4or 4un3ust 4or 4un

    3

    htt!"##$$$%funnyhumor%&om#!i&tures#26%!h!

    Shah Masud

  • 7/22/2019 Approaches Sdl c

    31/84

  • 7/22/2019 Approaches Sdl c

    32/84

  • 7/22/2019 Approaches Sdl c

    33/84

  • 7/22/2019 Approaches Sdl c

    34/84

  • 7/22/2019 Approaches Sdl c

    35/84

  • 7/22/2019 Approaches Sdl c

    36/84

  • 7/22/2019 Approaches Sdl c

    37/84

  • 7/22/2019 Approaches Sdl c

    38/84

    Criteria for SelectingCriteria for Selecting

    38

    &larify of user requirements'ometimes the user requirements are unclear or subject tochange rototyping and throwaway prototyping are more appropriate models forsuch situations! because they provide prototypes for user to interact with at earlystages of the '*&

    +amiliarity with Technology,hen the system will use new technology! which is

    unfamiliar for the analysts and programmers (eg the first ,eb%based project with-ava)! it increases the ris"s Application of the new technology as early as possiblewill improve the chance of success Throwaway prototyping is particularlyappropriate for this situation since it e$plicitly encourages the developers to developdesign prototypes for areas with high ris"s hased model is good as well because itcreates opportunities to investigate the technology in some depth before the design is

    complete'ystem &omple$ity&omple$ systems require careful and detailed analysis and designThrowaway prototyping is particularly well suited to such situation! but prototypingis not The traditional structured methodologies can handle comple$ systems! butwithout the ability to get the system or prototypes into users. hands early on! some"ey issues may be overloo"ed /ven though the phased model enables users tointeract with the system early in the process

    Shah Masud

  • 7/22/2019 Approaches Sdl c

    39/84

    Criteria for SelectingCriteria for Selecting

    39

    'hort time schedulesrojects with short time schedules are well suited for 0A models as

    far as they are designed to increase the speed of development rototyping and phases

    development are e$cellent choices because they best enable the project team to adjust the

    functionality in the system If the project schedule starts to slip! it can be readjusted by

    removing functionality from the version or prototype under development The waterfall

    model is the worst choice! because it does not allow for easy schedule changes

    'chedule visibility1ne of the greatest challenges in systems development is "nowing

    whether a project is on schedule This is particularly true of the structured methods

    because design and implementation occur at the end of the project The 0A models

    move many of the critical design decisions to an earlier point in the project to help project

    managers to recognize and address ris" factors and "eep e$pectations in chec"

    Shah Masud

  • 7/22/2019 Approaches Sdl c

    40/84

  • 7/22/2019 Approaches Sdl c

    41/84

  • 7/22/2019 Approaches Sdl c

    42/84

  • 7/22/2019 Approaches Sdl c

    43/84

    Some Models 5sed in SDLCSome Models 5sed in SDLC

    43Shah Masud

  • 7/22/2019 Approaches Sdl c

    44/84

  • 7/22/2019 Approaches Sdl c

    45/84

  • 7/22/2019 Approaches Sdl c

    46/84

    Techni.uesTechni.ues

    Techni$ues

    Collection of guidelines that help analysts completea system development activity or tas%

    Can e step8y8step instructions or just generaladvice

    46Shah Masud

  • 7/22/2019 Approaches Sdl c

    47/84

    Some Techni.ues 5sed in SDLCSome Techni.ues 5sed in SDLC

    47Shah Masud

  • 7/22/2019 Approaches Sdl c

    48/84

  • 7/22/2019 Approaches Sdl c

    49/84

  • 7/22/2019 Approaches Sdl c

    50/84

    Three Structured Programming ConstructsThree Structured Programming Constructs

    5Shah Masud

  • 7/22/2019 Approaches Sdl c

    51/84

    Top#Do%n ProgrammingTop#Do%n Programming

    Divides comple! programs into hierarchy of

    modules

    The module at top controls e!ecution y &calling'lower level modules

    /odular programming

    Similar to top8down programming

    3ne program calls other programs to wor%

    together as single system51Shah Masud

  • 7/22/2019 Approaches Sdl c

    52/84

    Top#Do%n or Modular ProgrammingTop#Do%n or Modular Programming

    52Shah Masud

  • 7/22/2019 Approaches Sdl c

    53/84

    Structured DesignStructured Design

    Techni$ue developed to provide design guidelines7hat set of programs should e

    7hat program should accomplish

    0ow programs should e organied into a hierarchy

    /odules are shown with structure chart

    /ain principle of program modulesLoosely coupled module is independent of othermodules

    0ighly cohesive module has one clear tas%

    53Shah Masud

    Structure Chart Created 5singStructure Chart Created 5sing

  • 7/22/2019 Approaches Sdl c

    54/84

    Structure Chart Created 5singStructure Chart Created 5sing

    Structured Design Techni.ueStructured Design Techni.ue

    54Shah Masud

  • 7/22/2019 Approaches Sdl c

    55/84

    Structured AnalysisStructured Analysis

    Define what system needs to do (processing

    re$uirements)

    Define data system needs to store and use (datare$uirements)

    Define inputs and outputs

    Define how functions wor% together to accomplish tas%s

    Data flow diagrams (D6D) and entity relationship diagrams

    (,D) show results of structured analysis

    55Shah Masud

  • 7/22/2019 Approaches Sdl c

    56/84

    Data 4lo% Diagram (D4D* Created 5singData 4lo% Diagram (D4D* Created 5sing

    Structured Analysis Techni.ueStructured Analysis Techni.ue

    56Shah Masud

  • 7/22/2019 Approaches Sdl c

    57/84

    ntity#$elationship Diagram ($D* Created 5singntity#$elationship Diagram ($D* Created 5sing

    Structured Analysis Techni.ueStructured Analysis Techni.ue

    57Shah Masud

  • 7/22/2019 Approaches Sdl c

    58/84

    Structured Analysis Leads to Structured DesignStructured Analysis Leads to Structured Design

    and Structured Programmingand Structured Programming

    58Shah Masud

  • 7/22/2019 Approaches Sdl c

    59/84

  • 7/22/2019 Approaches Sdl c

    60/84

    Information ngineering (I*Information ngineering (I*

    6ocus on strategic planning to identify all the organiation informationneeds (the application architecture plan)" data modeling" and automatedtools

    /ore focused on data itself than the structured approach2 +ut just as thestructural approach includes data re$uirements" . includes processes" too

    The processing model of information engineering" the process dependencydiagram" is similar to a data flow diagram" ut it focuses more on whichprocesses are dependent on other processes and less on data inputs andoutputs

    Provides more complete life cycle support through the use of an integratedC#S tools (help to automate systems development5 final program code cane generated automatically y the C#S tools)

    +ecame popular on large8mainframe systems in the 9@AB;s" less used in the9@@B;s on smaller des%top systems (ut concepts still used y planning andemphasis on data modeling)

    6Shah Masud

  • 7/22/2019 Approaches Sdl c

    61/84

  • 7/22/2019 Approaches Sdl c

    62/84

  • 7/22/2019 Approaches Sdl c

    63/84

    O!"ect#Oriented Approach to SystemsO!"ect#Oriented Approach to Systems

    63Shah Masud

  • 7/22/2019 Approaches Sdl c

    64/84

    O!"ect#Oriented Approach (continued*O!"ect#Oriented Approach (continued*

    3ject8oriented analysis (33#)

    Defines types of ojects users deal with

    Shows use cases are re$uired to complete tas%s

    3ject8oriented design (33D)

    Defines oject types needed to communicate with people and devices in system

    Shows how ojects interact to complete tas%s

    ,efines each type of oject for implementation with specific language of

    environment

    3ject8oriented programming (33P)

    7riting statements in programming language to define what each type of oject

    does

    64Shah Masud

  • 7/22/2019 Approaches Sdl c

    65/84

    Class Diagram Created During OO AnalysisClass Diagram Created During OO Analysis

    65Shah Masud

  • 7/22/2019 Approaches Sdl c

    66/84

    SDLC VariationsSDLC Variations

    /any variations of SDLC in practice

    +ased on variation of names for phases

    Fo matter which one" activities1tas%s are similar Some increase emphasis on people

    Gser8centred design" participatory design

    Socio8technical systems

    Some increase speed of development

    ,apid application development (,#D)

    Prototyping66Shah Masud

    Rapid Application DevelopmentRapid Application Development

  • 7/22/2019 Approaches Sdl c

    67/84

    67

    Rapid application development-0AD. is one of the+ariations of SD

    Aims to s!eed u! the de+elo!ment !ro&ess%

    /merged in the 199s as an attem!t to address *oth

    $ea,nesses of the $aterfall de+elo!ment" long de+elo!menttimes and the diffi&ulty in understanding a system from !a!er*ased des&ri!tion%

    Methods:

    '(ries to s!eed u! the a&ti+ities in ea&h !hase -e%g% s!eeding theanalysis !hase *y s&heduling intensi+e meetings of ,ey !arti&i!ants to

    get information gathered and de&isions made ra!idly.'sing iterati+e de+elo!ment -e%g% s!iral life &y&le model. to s!eed u!the !ro&ess of getting to design and im!lementation

    'uilding !rototy!es of the system during analysis and design !hases%It im!ro+es understanding of the system re)uirements'sing CASE-&om!uteraided system engineering. toolsto s!eed u!

    the analysis design and im!lementation !hases

    Rapid Application DevelopmentRapid Application Development

    Shah Masud

  • 7/22/2019 Approaches Sdl c

    68/84

    Current Trends in DevelopmentCurrent Trends in Development

    /ore adaptive approaches

    The Gnified Process (GP)

    !treme Programming (HP)

    Scrum

    Details on each in Chapter 9I

    68Shah Masud

  • 7/22/2019 Approaches Sdl c

    69/84

    The 5nified Process (5P*The 5nified Process (5P*

    3ject8oriented development approach

    3ffered y .+/ 1 ,ational

    +ooch" ,umaugh" acoson

    Gnified /odeling Language (G/L) used primarily for modeling

    G/L can e used with any 33 methodology

    GP defines four life cycle phases

    .nception" elaoration" construction" transition

    Defines wor%flows within each phase4 usiness modeling" re$uirements

    modeling" analysis and design" implementation" testing" development"configuration and change management" and project management

    .nvolves roles of4 designer" use case specifier" systems analyst"

    implementer" architect

    69Shah Masud

  • 7/22/2019 Approaches Sdl c

    70/84

    Th 5 ifi d P (5P* ( ti d*The 5nified Process (5P* (continued*

  • 7/22/2019 Approaches Sdl c

    71/84

    The 5nified Process (5P* (continued*The 5nified Process (5P* (continued*

    ,einforces si! est practices

    Develop iteratively

    Define and manage system re$uirements

    Gse component architectures

    Create visual models

    -erify $uality

    Control changes 71Shah Masud

    P i (7P* t P i (7P*

  • 7/22/2019 Approaches Sdl c

    72/84

    6treme Programming (7P*6treme Programming (7P*

    ,ecent" lightweight" development approach to %eep process simple

    and efficient

    Descries system support needed and re$uired system functionality

    through informal user stories

    0as users descrie acceptance tests to demonstrate defined

    outcomes

    ,elies on continuous testing and integration" heavy user

    involvement" programming done y small teams

    72Shah Masud

  • 7/22/2019 Approaches Sdl c

    73/84

  • 7/22/2019 Approaches Sdl c

    74/84

    Vi l M d li T l $ it C t i AllVi l M d li T l $ it C t i All

  • 7/22/2019 Approaches Sdl c

    75/84

    Visual Modeling Tool $epository Contains AllVisual Modeling Tool $epository Contains All

    System InformationSystem Information

    75Shah Masud

  • 7/22/2019 Approaches Sdl c

    76/84

    CAS Tools0 6amplesCAS Tools0 6amples

    Microsoft Visio

    ?a drawing tool suitale for aout any system model

    ?comes with a collection of drawing templates (incl2

    symols used in a variety of usiness and engineeringapplications4 flowcharts" D6Ds" ,Ds" G/L diagrams)

    ?provides only a limited repository for storingdefinitions and descriptions of diagram elements" utnot a complete repository for a system developmentproject2

    76Shah Masud

  • 7/22/2019 Approaches Sdl c

    77/84

    CAS T l l ( t8d*CAS Tools0 6amples (cont8d*

  • 7/22/2019 Approaches Sdl c

    78/84

    CAS Tools0 6amples (cont8d*CAS Tools0 6amples (cont8d*

    Oracle Designer?a tool set for recording definitions and automating the rapid

    constructions of fle!ile" graphical client#server applications

    ?integrated with 3racle Developer (a tool for creating *G.applications)

    ?includes a complete repository" diagramming and code8generating capailities

    ?an integrated C#S tool that supports traditional approachtosystem development (process modeler" function8hierarchydiagrammer" data flow diagrammer" entity8relationshipdiagrammer)

    ?Design Transformer and Design ditor produce diagrams alongwith the dataase and application logic

    78Shah Masud

  • 7/22/2019 Approaches Sdl c

    79/84

    Oracle DesignerOracle Designer0 4ront Panel screen0 4ront Panel screen

    79Shah Masud

  • 7/22/2019 Approaches Sdl c

    80/84

    Oracle DesignerOracle Designer0 ntity#$elationship Diagrammer0 ntity#$elationship Diagrammer

    8Shah Masud

  • 7/22/2019 Approaches Sdl c

    81/84

    CAS Tools0 6amples (cont8d*CAS Tools0 6amples (cont8d*

    TogetherSoft

    ?The most recent concept of round-trip engineering

    ?allows synchroniing the graphical models (such as class

    diagram) with generated program code (automation inoth directions round trip)2

    ?.f the program code is changed" the class diagram isupdated and contra versa" if the class diagram ischanged" the program code is updated2

    ?Together uses G/L diagrams with several differentprogramming languages

    81Shah Masud

  • 7/22/2019 Approaches Sdl c

    82/84

    TogetherTogethersho%ing a class diagram %ithsho%ing a class diagram %ith

    synchroni/ed 3ava source codesynchroni/ed 3ava source code

    82Shah Masud

    CAS T l l ( t8d*CAS T l l ( t8d*

  • 7/22/2019 Approaches Sdl c

    83/84

    CAS Tools0 6amples (cont8d*CAS Tools0 6amples (cont8d*

    Embarcadero Describe

    ?a new product that include modeling andround8trip engineering features

    ?provides fle!ile G/L modeling capailities foranalysis and design

    ?provides round8trip engineering with several

    ava development tools (+uilder and Sum6orte)

    83Shah Masud

  • 7/22/2019 Approaches Sdl c

    84/84