is methodologies. systems development life cycle - sdlc planning planning define the system to be...
TRANSCRIPT
Systems Development Life Systems Development Life Cycle - SDLCCycle - SDLC
PlanningPlanning define the system to be developeddefine the system to be developed Set the project scopeSet the project scope Develop project plan including tasks, resources, and timeframesDevelop project plan including tasks, resources, and timeframes
AnalysisAnalysis Gather the business requirements for the systemGather the business requirements for the system
Design Design Design the technical architecture required to support the systemDesign the technical architecture required to support the system Write the test casesWrite the test cases Design system modelsDesign system models
DevelopmentDevelopment Build the technical architectureBuild the technical architecture Build the database and programsBuild the database and programs
TestingTesting Perform the testing of the systemPerform the testing of the system
ImplementationImplementation Install systemInstall system Write detailed user documentationWrite detailed user documentation Provide training for system usersProvide training for system users
MaintenanceMaintenance Build a help desk to support the system usersBuild a help desk to support the system users Provide an environment to support system changesProvide an environment to support system changes
½ security ½ security
Different IS Different IS MethodologiesMethodologies
1.1. Process MethodologiesProcess Methodologies
2.2. Object-Oriented MethodologiesObject-Oriented Methodologies
3.3. Rapid Application & Rapid Application & Evolutionary MethodologiesEvolutionary Methodologies
4.4. Framework MethodologiesFramework Methodologies
Main Features of Process Main Features of Process MethodologiesMethodologies
Emphasis on processingEmphasis on processing Emphasis on functional Emphasis on functional
decompositiondecomposition
Functional Functional DecompositionDecomposition
It is the breaking down of a complex It is the breaking down of a complex problem into more and more details problem into more and more details in a disciplined way.in a disciplined way.
At the lowest level the units are At the lowest level the units are simple and manageablesimple and manageable
Object-Oriented Object-Oriented Methodologies HistoryMethodologies History
Developed in 1980sDeveloped in 1980s Building Systems takes the objects Building Systems takes the objects
as the basis. as the basis.
Possible Benefits of OO Possible Benefits of OO MethodologiesMethodologies
ReusabilityReusability InheritanceInheritance Data Hiding/Encapsulation Data Hiding/Encapsulation
Rapid and Evolutionary Rapid and Evolutionary DevelopmentDevelopment
Evolutionary developmentEvolutionary development PrototypingPrototyping Rapid application developmentRapid application development Agile developmentAgile development
Evolutionary DevelopmentEvolutionary Development
It is a staged or incremental approach It is a staged or incremental approach that periodically delivers a system that is that periodically delivers a system that is increasingly complete i.e. evolves over increasingly complete i.e. evolves over time.time.
Thus they are not in their final form at Thus they are not in their final form at their first iteration or delivery.their first iteration or delivery.
Each delivery achieves something useful Each delivery achieves something useful and usable but is not necessarily and usable but is not necessarily complete.complete.
The system developed in the first iteration The system developed in the first iteration will be only a subset of the total will be only a subset of the total requirement.requirement.
Evolutionary DesignEvolutionary Design
The design does not have to be The design does not have to be perfectperfect
It can allow or accommodate future It can allow or accommodate future change or at least not impede such change or at least not impede such changechange
It does not have to be It does not have to be comprehensivecomprehensive
PrototypingPrototyping It is building a model that It is building a model that
demonstrates the features of demonstrates the features of proposed system.proposed system.
Two types of prototypesTwo types of prototypes1.1. Throw-awayThrow-away
2.2. EvolutionaryEvolutionary
When would When would Prototyping be Prototyping be
Beneficial?Beneficial?1.1. Unclear requirementsUnclear requirements
2.2. Unstable requirementsUnstable requirements
3.3. High innovativenessHigh innovativeness
4.4. High system impact on usersHigh system impact on users
5.5. Where commitment of users to a Where commitment of users to a project is requiredproject is required
6.6. Relatively small size of usersRelatively small size of users
Rapid Application Rapid Application DevelopmentDevelopment
Incremental developmentIncremental development Time boxingTime boxing JAD workshopsJAD workshops
Time Boxing DevelopmentTime Boxing Development
A D I A D I A D I
A D I
Time box
Time box
Time box
Time box development
Traditional development
Time
Time, Resources and Time, Resources and Functionality in DevelopmentFunctionality in Development
Traditional Development RAD Development
Functionality
Time Resources
Time Resources
Functionality
Agile DevelopmentAgile Development Agile ManifestoAgile Manifesto
Individuals and interactions Individuals and interactions over over processes and toolsprocesses and tools
Working software Working software over over comprehensive documentationcomprehensive documentation
Customer collaboration Customer collaboration over over contract negotiationcontract negotiation
Responding to change Responding to change over over following a planfollowing a plan
Agile Approach Agile Approach PrinciplesPrinciples
Changing requirementsChanging requirements Software deliverySoftware delivery
1.1. IncrementalIncremental2.2. Constance pace – sustainableConstance pace – sustainable3.3. Working softwareWorking software4.4. Small releasesSmall releases5.5. Rapid cyclesRapid cycles
TeamTeam1.1. CooperativeCooperative2.2. Self-organizingSelf-organizing3.3. Face-to-face interactionsFace-to-face interactions4.4. Adaptive: able to embrace changeAdaptive: able to embrace change5.5. MotivatedMotivated
MethodologiesMethodologies1.1. Straightforward: easy to learn and to modifyStraightforward: easy to learn and to modify
What is the CMM? What is the CMM?
CMM helps an organization to:– set process improvement goals and priorities
– provide guidance for quality processes
– provide a framework for assessing current practice
Available models: Two representations:
What is the CMM?What is the CMM?
Staged - organizational maturity approachStaged - organizational maturity approach Provides pre-defined roadmap for process Provides pre-defined roadmap for process
improvement based on a proven group and improvement based on a proven group and ordering of process capabilities ordering of process capabilities
Used for process improvement and assessmentsUsed for process improvement and assessments
Continuous - Process capability approachContinuous - Process capability approach Used to choose which processes to emphasize for Used to choose which processes to emphasize for
improvement in a given process area (e.g., Risk improvement in a given process area (e.g., Risk Management)Management)
Used for process improvement (when different Used for process improvement (when different groups focused on different areas) and assessmentsgroups focused on different areas) and assessments
Optimizing
Quantitatively Managed
Defined
Managed
Performed
Continuous processimprovement
Process measured and
controlled
Process characterizedfor the organization andis proactive
Process characterizedfor projects and is oftenreactive
Process unpredictable,poorly controlled, reactive
Causal Analysis and ResolutionOrganizational Innovation and Deployment
Quantitative Project Management Organizational Process Performance
Requirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidationOrganizational Process FocusOrganizational Process DefinitionOrganizational Training Integrated Project ManagementRisk Management Decision Analysis and Resolution
Requirements ManagementProject PlanningProject Monitoring and ControlSupplier Agreement ManagementMeasurement and AnalysisProcess and Product Quality AssuranceConfiguration Management
Productivity & Quality
IS
K
R
Level Characteristic Process Areas Result
5
4
3
2
1
CMMI Process Areas (Staged CMMI Process Areas (Staged representation)representation)
Represent the building blocks of all Represent the building blocks of all CMM modelsCMM models
PAs are defined to reside at a single PAs are defined to reside at a single maturity or capability levelmaturity or capability level
Identify the issues that must be Identify the issues that must be addressed to achieve a given maturity addressed to achieve a given maturity or capability levelor capability level
Process Areas (PA)sProcess Areas (PA)s
Organizational MaturityOrganizational Maturity Since organizational maturity describes the range Since organizational maturity describes the range
of expected results that can be achieved by an of expected results that can be achieved by an organization, it is one of the means of predicting organization, it is one of the means of predicting the most likely outcomes from the next project the the most likely outcomes from the next project the organization undertakes. organization undertakes.
For instance, at maturity level 2, the organization For instance, at maturity level 2, the organization has been elevated from ad hoc to disciplined by has been elevated from ad hoc to disciplined by establishing sound project management. establishing sound project management.
As our organization achieves the generic and As our organization achieves the generic and specific goals for the set of process areas in each specific goals for the set of process areas in each maturity level, we will increase our organizational maturity level, we will increase our organizational maturity and reap the benefits of process maturity and reap the benefits of process improvement.improvement.