0% found this document useful (0 votes)
231 views84 pages

Approaches SDL C

The document discusses different approaches to the systems development life cycle (SDLC). It describes predictive and adaptive approaches to SDLC and compares the waterfall model to more flexible iterative models like the spiral model, iterative development, and prototyping. The phases of traditional SDLC like planning, analysis, design, implementation, and support are outlined along with typical activities in each phase. Variations on the waterfall model that allow for more iteration and user feedback are also summarized.

Uploaded by

Sitti Najwa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
231 views84 pages

Approaches SDL C

The document discusses different approaches to the systems development life cycle (SDLC). It describes predictive and adaptive approaches to SDLC and compares the waterfall model to more flexible iterative models like the spiral model, iterative development, and prototyping. The phases of traditional SDLC like planning, analysis, design, implementation, and support are outlined along with typical activities in each phase. Variations on the waterfall model that allow for more iteration and user feedback are also summarized.

Uploaded by

Sitti Najwa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 84

Information Systems Analysis and Design

Approaches to System Development

Shah Masud

Lecture Outline
Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models Selecting the appropriate model Methodologies of the SDLC Traditional Approach to SDLC Information ngineering Approach to SDLC O!"ect#Oriented Approach to SDLC $apid Application Development Current trends in the SDLC CAS Tools
Shah Masud 2

Systems Development Life Cycle


Systems development life cycle (SDLC)
Provides overall frame%or& for managing systems development process

Two main approaches to SDLC


Predictive approach assumes project can e planned out in advance Adaptive approach more fle!i le" assumes project cannot e planned out in advance

#ll projects use some variation of SDLC


Shah Masud 3

Predictive vs' Adaptive Approach to the SDLC

Shah Masud

Phases in SDLC
Pro"ect planning initiate" ensure feasi ility" plan schedule" o tain approval for project Analysis understand usiness needs and processing re$uirements Design define solution system ased on re$uirements and analysis decisions Implementation construct" test" train users" and install new system Support %eep system running and improve

Shah Masud

Systems Development Life Cycle

Shah Masud

Systems Life Cycle

Shah Masud

Activities 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 within an iteration
Shah Masud 8

Activities of Pro"ect Planning


Define usiness pro lem and scope Produce detailed project schedule Confirm project feasi ility
(conomic" organi)ational" technical" resource" and schedule

Staff the project (resource management) Launch project official announcement


Shah Masud 9

Analysis Activities
*ather information to learn pro lem domain Define system re$uirements +uild prototypes for discovery of re$uirements Prioriti)e re$uirements *enerate and evaluate alternatives ,eview recommendations with management Shah Masud
1

Design Activities
Design and integrate the networ% Design the application architecture Design the user interfaces Design the system interfaces Design and integrate the data ase Prototype for design details Design and integrate system controls Shah Masud
11

Implementation Activities
Construct software components -erify and test Convert data Train users and document the system .nstall the system
Shah Masud 12

Support Activities (SLC) not SDLC*


/aintain system
Small patches" repairs" and updates

(nhance system
Small upgrades or enhancements to e!pand system capa ilities Larger enhancements may re$uire separate development project

Support users
0elp des% and1or Shah support team Masud
13

FIGURE 2-2 The SDLC Phases.


Shah Masud 14

+,aterfall- Approach to the SDLC

Shah Masud

15

+,aterfall- Approach
(ach life cycle phase is completed in se.uence and then the results of the phase flow on to the ne!t phase There is no going !ac& once the phase is completed (li%e a waterfall) or it is e!tremely difficult to do The %ey delivera!les for each phase are typically produced on paper (hundreds of pages in length) The decisions made at each phase are fro/en" i2e2 they cannot e changed

Shah Masud

16

Overlap of activities

Shah Masud

17

+,aterfall- Approach0 pros and cons


The two key advantages of the waterfall model:

Identifying system requirements long before programming begins It minimizes changes to the requirements as the project proceeds

The key disadvantages:

The design must be completely specified on paper before programming begins A 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 important requirements can be overloo"ed in the hundreds of pages of documentation #sers rarely are prepared for their introduction to the new system! which occurs long after the initial idea for the system was introduced If the project team misses important requirements! e$pensive post%implementation programming may be needed A system may require significant rewor" because of changes in business environment since the time the analysis phase occurred It means going bac" to the initial phases and following the changes through each of the subsequent phases in turn
Shah Masud 18

The Parallel Model


The Parallel Model attempts to address the pro lem of long delays etween the analysis phase and the delivery of the system2 .nstead of doing the design and implementation in se$uence" it performs a general design for the whole system and then divides the project into series of distinct su projects that can e designed and implemented in parallel 3nce all su projects are complete" the final integration of the separate pieces is delivered

Shah Masud

19

The Parallel Model

Shah Masud

Parallel 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 environment causing rewor% 1ey disadvantages0 Still suffers from pro lems caused y paper documentation # new pro lem4 sometimes the su projects are not completely independent5 design made in one su project may affect another and the end of the project may re$uire significant integrative efforts

Shah Masud

21

2e%er Adaptive Approaches to the SDLC


+ased on spiral model
Project cycles through development activities over and over until project is complete Prototype created y end of each cycle 6ocuses on mitigating ris%

Iteration 7or% activities are repeated


(ach iteration refines previous result #pproach assumes no one gets it right the first time There are a series of mini projects for each iteration
Shah Masud 22

Spiral Model
+rea%s each project into smaller pieces" each with a different type of ris% (Sources of ris%4 undefined re$uirements" comple! technology" uncertain competitive environment) The project egins in the center of the spiral where project is still small" easy to manage and low in ris% Then the project slowly e!pands The project starts out small" initially handling a few of the ris%s Then the project e!pands in ne!t iteration to address more of the ris%s (ventually the system is completed (all ris%s addressed)
Advantage0 The iterative nature and focus on ris% reduction
Shah Masud 23

The Spiral Life Cycle Model

Shah Masud

24

The Model %ith Iterations


Iteration0 the process of looping through the same development activities multiple times" sometimes at increasing levels of details or accuracy #ssumes no one gets the right results the first time Do some analysis" then some design" then some implementation" then do some further analysis" etc until you get it right Idea0 not always realistic to complete analysis efore starting design 7aterfall no longer applies 8 Phases ecome lurred Decisions are not fro)en at the end of each phase
Applica!ility0 *ood for projects where re$uirement specifications are hard to arrive at

Shah Masud

25

Iteration of System Development Activities

Shah Masud

26

Phased Development Model


+rea%s the overall system into a series of versions that are developed se$uentially The analysis phase identifies the overall system concept2 The project team" users and system sponsors categori)e the re$uirements into a series of versions The most important and fundamental re$uirements are undled into the first version of the system2 The analysis phase then leads into design and implementation" ut only with the set of re$uirements identified for version 9 3nce version 9 is implemented" wor% egins on version :2 #dditional analysis is performed on the asis of the previously identified re$uirements and com ined with new ideas and issues that arose from users; e!perience with version 92 -ersion : then is designed and implemented" and wor% immediately egins on the ne!t version2 This process continues until the system is complete
Shah Masud 27

Phased Model

Shah Masud

28

Phased Model0 pros and cons


Advantages0 <uic%ly getting a useful system into the hands of users2 #lthough it does not perform all the functions the users need" it helps them sooner to identify important additional re$uirements Disadvantages0 The users egin to wor% with systems that are incomplete2 .t is critical to identify the most important and useful features and include them in the first version2=

Shah Masud

29

3ust 4or 4un


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

Shah Masud

Prototyping model
Performs analysis" design and implementation phases concurrently" and all three phases are performed repeatedly in a cycle until the system is completed2 The asics of analysis and design are performed" and wor% immediately egins on a system prototype (i2e2" a >$uic%8and8dirty' program that provides a minimal amount of features The first prototype is shown to the users and the project sponsor" who provide comments" which are used to re8analy)e" re8design" and re8implement a second prototype that provides a few more features This process continues in a cycle until the analysts" users and sponsor agree that the prototype provides enough functionality to e installed and used2 ,efinement occurs until it is accepted as the new system2

Shah Masud

31

Prototyping SDLC

Shah Masud

32

Prototyping model0 pros and cons


The &ey advantages0 ? -ery quickly provides a system for users to interact with2 .t reassures the users that the project team is wor%ing on the system2 The users can interact with the prototype to etter understanding what it can and cannot do rather than attempting to understand a system specification on paper2 The ma"or disadvantages0 ? 6ast8paced system releases challenge attempts to conduct careful" methodical analysis2 3ften the prototype undergoes such significant changes that many initial design decisions ecome poor ones2 This can cause pro lems in the development of comple! systems ecause fundamental issues and pro lems are not recogni)ed until well into the development process2
Shah Masud 33

Thro%a%ay Prototyping
Similar to the prototyping model in that it includes the development of prototypes" however" they are done at a different point in the SDLC 0as a relatively thorough analysis phase that is used to gather information and to develop ideas for the system concept2 /any of the features suggested y the users may not e well understood and many technical issues may not e solved2 (ach of these issues are e!amined y analy)ing" designing and uilding a design prototype (it is not a wor%ing system5 it only represents a part of the system that needs additional refinement and it contains only enough details to ena le users to understand the issues under consideration) Typically" several prototypes are used during analysis and design phase2 (ach of them is used to minimi)e the ris% of missing of important issues efore the real system is uilt2 3nce the issues are resolved" the project moves into design and implementation2 #t this point" the design prototypes are thrown away" what is a principal difference etween this model and prototyping" in which the prototypes evolve into the final system

Shah Masud

34

Thro%a%ay Prototyping Model

Shah Masud

35

Thro%a%ay Prototyping0 pros and cons


? +alances the enefits of well8through8out analysis and design phases with the advantages of using prototypes to refine %ey issues efore a system is uilt2 ? .t may ta%e longer to deliver the final system as compared with prototyping (as far as the prototypes do not ecome the final system)" ut this model usually produces more sta le and relia le systems2

Shah Masud

36

Criteria for Selecting the Appropriate Model of SDLC

Shah Masud

37

Criteria for Selecting


&larify of user requirements 'ometimes the user requirements are unclear or subject to change (rototyping and throwaway prototyping are more appropriate models for such situations! because they provide prototypes for user to interact with at early stages of the ')*& +amiliarity with Technology ,hen the system will use new technology! which is unfamiliar for the analysts and programmers (e g the first ,eb%based project with -ava)! it increases the ris"s Application of the new technology as early as possible will improve the chance of success Throwaway prototyping is particularly appropriate for this situation since it e$plicitly encourages the developers to develop design prototypes for areas with high ris"s (hased model is good as well because it creates opportunities to investigate the technology in some depth before the design is complete 'ystem &omple$ity &omple$ systems require careful and detailed analysis and design Throwaway prototyping is particularly well suited to such situation! but prototyping is not The traditional structured methodologies can handle comple$ systems! but without 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 to interact with the system early in the process
Shah Masud 38

Criteria for Selecting


'hort time schedules (rojects 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 visibility 1ne 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

39

Methodologies
Methodologies
Comprehensive guidelines to follow for completing every SDLC activity Collection of models" tools" and techni$ues

Shah Masud

$elationships Among Components of a Methodology

Shah Masud

41

Models
/odels
,epresentation of an important aspect of real world" ut not same as real thing # straction used to separate out aspect ? physical (li%e a model of an airplane) ? abstract (e2g2 in form of mathematical notation or in graphical form) /odels in SDLC are graphical4 diagrams and charts Project planning and udgeting aids
Shah Masud 42

Some Models 5sed in SDLC

Shah Masud

43

Tools
Tools
Software support that helps create models or other re$uired project components ,ange from simple drawing programs to comple! C#S( tools to project management software

Shah Masud

44

Some Tools 5sed in SDLC

Shah Masud

45

Techni.ues
Techni$ues
Collection of guidelines that help analysts complete a system development activity or tas% Can e step8 y8step instructions or just general advice

Shah Masud

46

Some Techni.ues 5sed in SDLC

Shah Masud

47

T%o Approaches to System Development


Traditional approach
#lso called structured system development Structured analysis and design techni$ue (S#DT) .ncludes information engineering (.()

O!"ect#oriented approach
#lso called 33#" 33D" and 33P -iews information system as collection of interacting o jects that wor% together to accomplish tas%s
Shah Masud 48

Traditional Approach

Structured programming
.mproves computer program $uality #llows other programmers to easily read and modify code (ach program module has one eginning and one ending Three programming constructs (se$uence" decision" repetition)

Shah Masud

49

Three Structured Programming Constructs

Shah Masud

Top#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 system


Shah Masud

51

Top#Do%n or Modular Programming

Shah Masud

52

Structured Design
Techni$ue developed to provide design guidelines
7hat set of programs should e 7hat program should accomplish 0ow programs should e organi)ed into a hierarchy

/odules are shown with structure chart /ain principle of program modules
Loosely coupled module is independent of other modules 0ighly cohesive module has one clear tas%
Shah Masud 53

Structure Chart Created 5sing Structured Design Techni.ue

Shah Masud

54

Structured Analysis
Define what system needs to do (processing re$uirements) Define data system needs to store and use (data re$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
Shah Masud 55

Data 4lo% Diagram (D4D* Created 5sing Structured Analysis Techni.ue

Shah Masud

56

ntity#$elationship Diagram ( $D* Created 5sing Structured Analysis Techni.ue

Shah Masud

57

Structured Analysis Leads to Structured Design and Structured Programming

Shah Masud

58

Weaknesses of the Structured Approach


' (e&hni)ues address some *ut not all of the a&ti+ities of analysis and design ' (e&hni)ues ma,e system de+elo!ment not enough formal -not li,e an engineering dis&i!line. *ut rather li,e an art% ' (he transition from the data flo$ diagram -in stru&tured analysis. to the stru&ture &hart -in stru&tured design. did not $or, $ell in !ra&ti&e% ' data modeling using stru&ture &hart and /0 diagram $ere more im!ortant than modeling of !ro&esses -using dataflo$ diagrams. ' 1o$e+er2 the stru&tured a!!roa&h o+erall still made !ro&esses rather than data the &entral fo&us of the system ' Many felt a strategi& !lanning te&hni)ue needed to *e in&luded in the a!!roa&h to determine $hi&h systems to *e *uilt and to !ro+ide some initial re)uirements% 59 Shah Masud ' As an alternati+e" information engineering%

Information ngineering (I *
6ocus on strategic planning to identify all the organi)ation information needs (the application architecture plan)" data modeling" and automated tools /ore focused on data itself than the structured approach2 +ut just as the structural approach includes data re$uirements" .( includes processes" too The processing model of information engineering" the process dependency diagram" is similar to a data flow diagram" ut it focuses more on which processes are dependent on other processes and less on data inputs and outputs Provides more complete life cycle support through the use of an integrated C#S( tools (help to automate systems development5 final program code can e generated automatically y the C#S( tools) +ecame popular on large8mainframe systems in the 9@AB;s" less used in the 9@@B;s on smaller des%top systems ( ut concepts still used y planning and emphasis on data modeling)

Shah Masud

Structured Approach and I


+oth approaches define information system re$uirements" design and construct information systems y loo%ing at processes" data and the interaction of these two .ndustry merged %ey concepts from structured development and information engineering approaches into traditional approach #n o!"ect#oriented technology provides a completely different perspective

Shah Masud

61

O!"ect#Oriented Approach
Completely different approach to information systems -iews information system as collection of interacting o!"ects that wor% together to accomplish tas%s 3 jects things in computer system that can respond to messages Conceptually" no processes" programs" data entities" or files are defined just o jects 33 languages4 Cava" CDD" CE" 2F(T" -+

Shah Masud

62

O!"ect#Oriented Approach to Systems

Shah Masud

63

O!"ect#Oriented Approach (continued*


3 ject8oriented analysis (33#)
Defines types of o jects users deal with Shows use cases are re$uired to complete tas%s

3 ject8oriented design (33D)


Defines o ject types needed to communicate with people and devices in system Shows how o jects interact to complete tas%s ,efines each type of o ject for implementation with specific language of environment

3 ject8oriented programming (33P)


7riting statements in programming language to define what each type of o ject does
Shah Masud 64

Class Diagram Created During OO Analysis

Shah Masud

65

SDLC 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) Prototyping
Shah Masud 66

Rapid Application Development

Rapid application development -0AD. is one of the +ariations of SD34 Aims to s!eed u! the de+elo!ment !ro&ess% /merged in the 199 s as an attem!t to address *oth $ea,nesses of the $aterfall de+elo!ment" long de+elo!ment times and the diffi&ulty in understanding a system from !a!er5 *ased des&ri!tion%
Methods: ' (ries to s!eed u! the a&ti+ities in ea&h !hase -e%g% s!eeding the analysis !hase *y s&heduling intensi+e meetings of ,ey !arti&i!ants to get information gathered and de&isions made ra!idly. ' 6sing iterati+e de+elo!ment -e%g%2 s!iral life &y&le model. to s!eed u! the !ro&ess of getting to design and im!lementation ' 7uilding !rototy!es of the system during analysis and design !hases% It im!ro+es understanding of the system re)uirements ' 6sing CASE -&om!uter5aided system engineering. tools to s!eed u! the analysis2 design and im!lementation !hases 67 Shah Masud

Current Trends in Development


/ore adaptive approaches
The Gnified Process (GP) (!treme Programming (HP) Scrum

Details on each in Chapter 9I

Shah Masud

68

The 5nified Process (5P*


3 ject8oriented development approach 3ffered y .+/ 1 ,ational
+ooch" ,um augh" Caco son

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" ela oration" 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
Shah Masud 69

5nified Process Life Cycle

Shah Masud

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
Shah Masud 71

6treme Programming (7P*


,ecent" lightweight" development approach to %eep process simple and efficient Descri es system support needed and re$uired system functionality through informal user stories 0as users descri e acceptance tests to demonstrate defined outcomes ,elies on continuous testing and integration" heavy user involvement" programming done y small teams

Shah Masud

72

Scrum
6or highly adaptive project needs ,espond to situation as rapidly as possi le Scrum refers to rug y game
+oth are $uic%" agile" and self8organi)ing

Team retains control over project -alues individuals over processes


Shah Masud 73

Computer#Aided System ngineering (CAS * Tools


CAS tools are software tools designed to help systems analyst complete development tas%s The C#S( tool contains a data ase of information called a repository The repository stores information a out the system" including models" descriptions" and references that lin% the various model together .nformation stored in repository can e used in a variety of ways y the development team (very time a team mem er adds information a out the system" it is immediately availa le for everyone else C#S( tools can chec% the models to ma%e sure they are complete and follow the correct diagramming rules C#S( tools can chec% one model against another to ma%e sure they are consistent
Shah Masud 74

Visual Modeling Tool $epository Contains All System Information

Shah Masud

75

CAS Tools0 6amples


Microsoft Visio ? a drawing tool suita le for a out any system model ? comes with a collection of drawing templates (incl2 sym ols used in a variety of usiness and engineering applications4 flowcharts" D6Ds" (,Ds" G/L diagrams) ? provides only a limited repository for storing definitions and descriptions of diagram elements" ut not a complete repository for a system development project2

Shah Masud

76

Visio for dra%ing a variety of diagrams and charts

Shah Masud

77

CAS Tools0 6amples (cont8d*


Oracle Designer

? a tool set for recording definitions and automating the rapid constructions of fle!i le" graphical client#server applications ? integrated with 3racle Developer (a tool for creating *G. applications) ? includes a complete repository" diagramming and code8 generating capa ilities ? an integrated C#S( tool that supports traditional approach to system development (process modeler" function8hierarchy diagrammer" data flow diagrammer" entity8relationship diagrammer) ? Design Transformer and Design (ditor produce diagrams along with the data ase and application logic
Shah Masud 78

Oracle Designer0 4ront Panel screen

Shah Masud

79

Oracle Designer0 ntity#$elationship Diagrammer

Shah Masud

CAS Tools0 6amples (cont8d* TogetherSoft ? The most recent concept of round-trip engineering ? allows synchroni)ing the graphical models (such as class diagram) with generated program code (automation in oth directions round trip)2 ? .f the program code is changed" the class diagram is updated and contra versa" if the class diagram is changed" the program code is updated2 ? Together uses G/L diagrams with several different programming languages
Shah Masud 81

Together sho%ing a class diagram %ith synchroni/ed 3ava source code

Shah Masud

82

CAS Tools0 6amples (cont8d* Embarcadero Describe ? a new product that include modeling and round8trip engineering features ? provides fle!i le G/L modeling capa ilities for analysis and design ? provides round8trip engineering with several Cava development tools (C+uilder and Sum 6orte)
Shah Masud 83

Embarcadero Describe %ith visual modeling and round#trip engineering

Shah Masud

84

You might also like