Approaches Sdl c
-
Upload
sitti-najwa -
Category
Documents
-
view
226 -
download
0
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