Upload
luis-levano-acosta
View
272
Download
0
Embed Size (px)
Citation preview
8/17/2019 AUP - Raman Ramsin
1/17
Software DevelopmentMethodologies
Lecturer: Raman Ramsin
Lecture 15
Agile Methodologies: AUP
Department of Computer Engineering1
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
2/17
Software Development Methodologies – Lecture 15
A ile nified Process A P
Proposed by Ambler as a simplified version of the
D ri im l n r n r h
developing business systems using agile techniques
and concepts while remaining true to the RUP.
Department of Computer Engineering2
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
3/17
Software Development Methodologies – Lecture 15
A ile nified Process A P
UML is the main modeling language, but AUP is not restricted
to UML.
Use case driven
Iterative-incremental
Architecture-centric
Department of Computer Engineering3
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
4/17
Software Development Methodologies – Lecture 15
AUP: Process – Phases
Like RUP, the overall development cycle consists of four
Inception: The goal is to identify the initial scope of the, ,initial project funding and stakeholder acceptance.
Elaboration: he goal is to prove the system architecture.
regular, incremental basis which meets the highest-priority needs
of project stakeholders.
Transition: The goal is to validate and deploy the system intothe production environment.
Department of Computer Engineering4
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
5/17
Software Development Methodologies – Lecture 15
AUP: Process – Iterations and Disci lines
Each phase can be further broken down into iterations.
An iteration is a complete development loop resulting in are ease o an execu a e ncremen o e sys em.
ac era on cons s s o seven wor areas sc p nes performed during the iteration.
For each discipline, AUP defines sets of:
activities (units of work on the artefacts);
roles res onsibilities taken on b develo ment team members .
Department of Computer Engineering5
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
6/17
Software Development Methodologies – Lecture 15
AUP: Process – Disci lines
1. Model. he oal is to understand the business of the or anization theproblem domain being addressed by the project, and to identify a viablesolution to address the problem domain.
2. Implementation. The goal is to transform the model(s) into executablecode and to perform a basic level of testing, in particular unit testing.
3. Test. The goal is to perform an objective evaluation to ensure quality.,
designed, and verifying that the requirements are met.
4. Deployment. The goal is to plan for the delivery of the system and toexecute the plan to make the system available to end users.
Department of Computer Engineering6
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
7/17
Software Development Methodologies – Lecture 15
AUP: Process – Disci lines Contd.
. .project artifacts. This includes not only tracking artifact versions over time
but also controlling and managing changes to them.
6. Project Management. The goal is to direct the activities that takelace on the ro ect. This includes mana in risks directin eo le and
coordinating with people and systems outside the scope of the project tobe sure that it is delivered on time and within budget.
7. Environment. The goal is to support the rest of the effort by ensuring
that the proper process, guidance (standards and guidelines), and tools(hardware, software, etc.) are available for the team as needed.
Department of Computer Engineering7
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
8/17
Software Development Methodologies – Lecture 15
AUP: Process – Disci lines in Iterations and Phases
Department of Computer Engineering8
Sharif University of Technology
[Ambler 2006]
8/17/2019 AUP - Raman Ramsin
9/17
Software Development Methodologies – Lecture 15
AUP: Process – Ince tion Phase
Tasks include:
1. Define project scope.
2. Estimate cost and schedule.
3. Define risks.
. .
the team, requesting the people needed, obtaining thenecessary hardware/software, and tailoring the AUP.
Department of Computer Engineering9
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
10/17
Software Development Methodologies – Lecture 15
AUP: Process – Elaboration Phase
Tasks include:
1. Produce an architectural prototype for the system.
2. Evolve the requirements model.
3. Draft a coarse-grained project plan for the constructionphase.
4. Ensure that critical tools, processes, standards, anduidelines are ut in lace for the construction hase.
5. Understand and eliminate high-priority risks of the project.
Department of Computer Engineering10
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
11/17
Software Development Methodologies – Lecture 15
AUP: Process – Construction Phase
Tasks include:
1. Prioritize and understand the requirements.
2. Model storm a solution.
3. Coding and testing the software.
4. ep oy ng ear y re eases o e sys em o o a n user
feedback.
Department of Computer Engineering11
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
12/17
Software Development Methodologies – Lecture 15
AUP: Process – Transition Phase
Tasks include:
1. Test and validate the complete system.
2. Integrate the system with existing systems.
3. Convert legacy databases and systems to support the newrelease.
4. Train the users of the new system.
5. Deploy the new system into production.
Department of Computer Engineering12
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
13/17
Software Development Methodologies – Lecture 15
AUP: Process – Model Disci line
Encompasses RUP's Business Modeling, Requirements, and.
A ilit is observed b creatin models and documents which are just barely good enough, limiting them to an absolute minimum.
er orme roug mo e s orm ng sess ons w c : Involve a few people, usually just two or three, who discuss an issue
.
Typically last for five to ten minutes (it’s rare to model storm for more
than thirty minutes). e peop e get toget er, gat er aroun a s are mo e ing too e.g.
the whiteboard), explore the issue until they're satisfied that theyunderstand it, then they continue on (often coding).
Department of Computer Engineering13
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
14/17
Software Development Methodologies – Lecture 15
AUP: Strengths and Weaknesses
Strengths
Iterative-incremental process
Based on system architecture
,and physical) of the problem domain and the system
Based on system functionality captured in use cases
throughout the process as the basis for tasks and tests
Department of Computer Engineering14
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
15/17
Software Development Methodologies – Lecture 15
AUP: Strengths and Weaknesses
Strengths (Contd.)
Design-based development
Iterative development engine governed by planning/reviewing
eam essness o serve oug m e ue o use-case aseactivities and design-based development
Risk-based process
Configurability and flexibility addressed
Department of Computer Engineering15
Sharif University of Technology
8/17/2019 AUP - Raman Ramsin
16/17
Software Development Methodologies – Lecture 15
AUP: Strengths and Weaknesses
Weaknesses
Modeling may jeopardize agility if limits are not strictly
’ absolute minimum is actually quite long.
ac ng mo e ncons s ency s no exp c y a resse .
Department of Computer Engineering16
Sharif University of Technology
f l h d l i
8/17/2019 AUP - Raman Ramsin
17/17
Software Development Methodologies – Lecture 15
Reference
Ambler, S. W., “The Agile Unified Process (AUP)”, Ambysoftorpora on, , va a e on e e a :
http://www.ambysoft.com/unifiedprocess/agileUP.html.
Department of Computer Engineering17
Sharif University of Technology