Professional Documents
Culture Documents
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 Engineering Approach to SDLC Object-Oriented Approach to SDLC Rapid Application Development Current trends in the SDLC CASE Tools
Shah Masud 2
Shah Masud
Phases in SDLC
Project planning initiate, ensure feasibility, plan schedule, obtain approval for project Analysis understand business needs and processing requirements Design define solution system based on requirements and analysis decisions Implementation construct, test, train users, and install new system Support keep system running and improve
Shah Masud
Shah Masud
Shah Masud
Predictive or adaptive approach use SDLC Activities of each phase are similar Phases are not always sequential Phases can overlap Activities across phases can be done within an iteration
Shah Masud 8
Analysis Activities
Gather information to learn problem domain Define system requirements Build prototypes for discovery of requirements Prioritize requirements Generate and evaluate alternatives Review recommendations with management Shah Masud
10
Design Activities
Design and integrate the network Design the application architecture Design the user interfaces Design the system interfaces Design and integrate the database Prototype for design details Design and integrate system controls Shah Masud
11
Implementation Activities
Construct software components Verify and test Convert data Train users and document the system Install the system
Shah Masud 12
Enhance system
Small upgrades or enhancements to expand system capabilities Larger enhancements may require separate development project
Support users
Help desk and/or Shah support team Masud
13
Shah Masud
15
Waterfall Approach
Each life cycle phase is completed in sequence and then the results of the phase flow on to the next phase There is no going back once the phase is completed (like a waterfall) or it is extremely difficult to do The key deliverables for each phase are typically produced on paper (hundreds of pages in length) The decisions made at each phase are frozen, i.e. they cannot be 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 overlooked in the hundreds of pages of documentation Users 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, expensive post-implementation programming may be needed. A system may require significant rework because of changes in business environment since the time the analysis phase occurred. It means going back to the initial phases and following the changes through each of the subsequent phases in turn.
Shah Masud 18
Shah Masud
19
Shah Masud
20
Shah Masud
21
Spiral Model
Breaks each project into smaller pieces, each with a different type of risk (Sources of risk: undefined requirements, complex technology, uncertain competitive environment) The project begins in the center of the spiral where project is still small, easy to manage and low in risk Then the project slowly expands The project starts out small, initially handling a few of the risks Then the project expands in next iteration to address more of the risks Eventually the system is completed (all risks addressed)
Advantage: The iterative nature and focus on risk reduction
Shah Masud 23
Shah Masud
24
Shah Masud
25
Shah Masud
26
Phased Model
Shah Masud
28
Shah Masud
29
Shah Masud
30
Prototyping model
Performs analysis, design and implementation phases concurrently, and all three phases are performed repeatedly in a cycle until the system is completed. The basics of analysis and design are performed, and work immediately begins on a system prototype (i.e., a quick-and-dirty 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 re-analyze, re-design, and re-implement 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 be installed and used. Refinement occurs until it is accepted as the new system.
Shah Masud
31
Prototyping SDLC
Shah Masud
32
Throwaway 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 Has a relatively thorough analysis phase that is used to gather information and to develop ideas for the system concept. Many of the features suggested by the users may not be well understood and many technical issues may not be solved. Each of these issues are examined by analyzing, designing and building a design prototype (it is not a working system; it only represents a part of the system that needs additional refinement and it contains only enough details to enable users to understand the issues under consideration) Typically, several prototypes are used during analysis and design phase. Each of them is used to minimize the risk of missing of important issues before the real system is built. Once the issues are resolved, the project moves into design and implementation. At this point, the design prototypes are thrown away, what is a principal difference between 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 techniques
Shah Masud
40
Shah Masud
41
Models
Models
Representation of an important aspect of real world, but not same as real thing Abstraction used to separate out aspect physical (like a model of an airplane) abstract (e.g. in form of mathematical notation or in graphical form) Models in SDLC are graphical: diagrams and charts Project planning and budgeting aids
Shah Masud 42
Shah Masud
43
Tools
Tools
Software support that helps create models or other required project components Range from simple drawing programs to complex CASE tools to project management software
Shah Masud
44
Shah Masud
45
Techniques
Techniques
Collection of guidelines that help analysts complete a system development activity or task Can be step-by-step instructions or just general advice
Shah Masud
46
Shah Masud
47
Object-oriented approach
Also called OOA, OOD, and OOP Views information system as collection of interacting objects that work together to accomplish tasks
Shah Masud 48
Traditional Approach
Structured programming
Improves computer program quality Allows other programmers to easily read and modify code Each program module has one beginning and one ending Three programming constructs (sequence, decision, repetition)
Shah Masud
49
Shah Masud
50
Top-Down Programming
Divides complex programs into hierarchy of modules The module at top controls execution by calling lower level modules Modular programming
Similar to top-down programming
51
Shah Masud
52
Structured Design
Technique developed to provide design guidelines
What set of programs should be What program should accomplish How programs should be organized into a hierarchy
Modules are shown with structure chart Main principle of program modules
Loosely coupled module is independent of other modules Highly cohesive module has one clear task
Shah Masud 53
Shah Masud
54
Structured Analysis
Define what system needs to do (processing requirements) Define data system needs to store and use (data requirements) Define inputs and outputs Define how functions work together to accomplish tasks Data flow diagrams (DFD) and entity relationship diagrams (ERD) show results of structured analysis
Shah Masud 55
Shah Masud
56
Shah Masud
57
Shah Masud
58
Shah Masud
60
Shah Masud
61
Object-Oriented Approach
Completely different approach to information systems Views information system as collection of interacting objects that work together to accomplish tasks Objects things in computer system that can respond to messages Conceptually, no processes, programs, data entities, or files are defined just objects OO languages: Java, C++, C#, .NET, VB
Shah Masud
62
Shah Masud
63
Shah Masud
65
SDLC Variations
Many variations of SDLC in practice
Based on variation of names for phases No matter which one, activities/tasks are similar
Rapid application development (RAD) is one of the variations of SDLC Aims to speed up the development process. Emerged in the 1990s as an attempt to address both weaknesses of the waterfall development: long development times and the difficulty in understanding a system from paperbased description.
Methods: Tries to speed up the activities in each phase (e.g. speeding the analysis phase by scheduling intensive meetings of key participants to get information gathered and decisions made rapidly) Using iterative development (e.g., spiral life cycle model) to speed up the process of getting to design and implementation Building prototypes of the system during analysis and design phases. It improves understanding of the system requirements Using CASE (computer-aided system engineering) tools to speed up the analysis, design and implementation phases 67 Shah Masud
Shah Masud
68
Unified Modeling Language (UML) used primarily for modeling UML can be used with any OO methodology UP defines four life cycle phases
Inception, elaboration, construction, transition
Defines workflows within each phase: business modeling, requirements modeling, analysis and design, implementation, testing, development, configuration and change management, and project management Involves roles of: designer, use case specifier, systems analyst, implementer, architect
Shah Masud 69
Shah Masud
70
Shah Masud
72
Scrum
For highly adaptive project needs Respond to situation as rapidly as possible Scrum refers to rugby game
Both are quick, agile, and self-organizing
Shah Masud
75
Shah Masud
76
Shah Masud
77
a tool set for recording definitions and automating the rapid constructions of flexible, graphical client-server applications integrated with Oracle Developer (a tool for creating GUI applications) includes a complete repository, diagramming and codegenerating capabilities an integrated CASE tool that supports traditional approach to system development (process modeler, function-hierarchy diagrammer, data flow diagrammer, entity-relationship diagrammer) Design Transformer and Design Editor produce diagrams along with the database and application logic
Shah Masud 78
Shah Masud
79
Shah Masud
80
CASE Tools: Examples (contd) TogetherSoft The most recent concept of round-trip engineering allows synchronizing the graphical models (such as class diagram) with generated program code (automation in both directions round trip). If the program code is changed, the class diagram is updated and contra versa, if the class diagram is changed, the program code is updated. Together uses UML diagrams with several different programming languages
Shah Masud 81
Shah Masud
82
CASE Tools: Examples (contd) Embarcadero Describe a new product that include modeling and round-trip engineering features provides flexible UML modeling capabilities for analysis and design provides round-trip engineering with several Java development tools (JBuilder and Sum Forte)
Shah Masud 83
Shah Masud
84