Approaches SDL C
Approaches SDL C
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
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
Shah Masud
Shah Masud
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
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
(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
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
Identifying system requirements long before programming begins It minimizes changes to the requirements as the project proceeds
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
Shah Masud
19
Shah Masud
Shah Masud
21
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
Shah Masud
24
Shah Masud
25
Shah Masud
26
Phased Model
Shah Masud
28
Shah Masud
29
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
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
Shah Masud
35
Shah Masud
36
Shah Masud
37
Shah Masud
39
Methodologies
Methodologies
Comprehensive guidelines to follow for completing every SDLC activity Collection of models" tools" and techni$ues
Shah Masud
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
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
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
Shah Masud
47
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
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
51
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
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
Shah Masud
56
Shah Masud
57
Shah Masud
58
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
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
Shah Masud
63
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
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
Shah Masud
68
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
Shah Masud
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
Shah Masud
75
Shah Masud
76
Shah Masud
77
? 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
Shah Masud
79
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
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
Shah Masud
84