The principles of an object oriented software development process Week 04 1.
-
Upload
dennis-owen -
Category
Documents
-
view
214 -
download
0
Transcript of The principles of an object oriented software development process Week 04 1.
1
The principles of an object oriented
software development process
Week 04
2
Objectives
1. Recognize the benefits of a software development process
2. Describe the stages of Rational Unified Process (RUP)
Describe the stages of Rational Unified Process (RUP)
3
Advantages of efficient software development methodology
1. Since significant effort is put into recording and analyzing customer’s needs and producing a requirements document, the chances of large requirement changes should be minimal during a phased delivery which increases confidence that each delivery will be on time.
4
2. The length of time between deliveries is longer
Requirement can changemore useful and meaningful functionality can be provided to the customer.
5
3. The developers always know where they are going. A functional specification document is produced as well as pseudo code which is used to design the software.Programmer has opportunity to think about the code and design the code well from the start.4. They can provide quality product with minimum errors or error free.
Software development stages
1. Requirement specification and analysis2. Design3. Implementation4. Testing5. Maintenance
A development process
• Unified Software Development process(DSDP)– USDP has been developed by the team that created UML. It
is claimed that the USDP embodies much of the currently accepted best practice in information systems development
– These include:• Iterative and incremental development.• Component-based development;• Requirements driven development;• Configurability;• Architecture centrism;• Visual modeling techniques
Unified Process• The Unified Process or Rational Unified Process (RUP) is a framework for
object oriented software engineering using UML. This is a use-case driven, architecture centric, iterative and incremental software development model.
Planning
Communication Modeling
ConstructionDeployment
Software Increment
InceptionElaboration
ConstructionTransition
Release
Production
Unified Process
Inception PhaseThe Inception Phase of UP includes both customer
communication and planning activities. By collaborating with the customer and end-users, business requirements for the software are identified, a rough architecture for the system is proposed, and a plan for the iterative, incremental nature of the project is developed.
Unified ProcessElaboration PhaseThe Elaboration Phase encompasses the planning and modeling
activities of the generic process model. Elaboration refines and expands the primary use-cases that were developed as part of the inception phase and expands the architectural representation to include five different views of the software – the use-case model, the analysis model, the design model, the implementation model and the deployment model.
Unified ProcessConstruction PhaseThe construction phase of the UP is identical to the construction
activity defined in the generic software process. Using the architectural model as input, the construction phase develops or acquires the software components that will make each use-case operational for end-users. As components are developed unit tests are designed and executed for each component. Integration testing and acceptance testing are carried out using use-cases to derive required test cases.
Unified ProcessTransition Phase The Transition Phase of the UP encompasses the later stages of
the generic construction activity and the first part of the generic deployment activity. Software is given to end-users for beta testing. The software team creates necessary support information (user manual, installation manual etc.). At the end of transition phase, the software increment becomes a usable software release.
Production PhaseThe production phase of the UP coincides with the deployment
activity of the generic process. During this phase, the on going use of the software is monitored, support for operating environment is provided, and defect reports and requests for change are submitted and evaluated.
Unified Process
It is likely that at the same time the construction, transition and production phases are being conducted, work may have already begun on the next software increment. This means that the unified process do not occur in a sequence, but rather with staggered concurrency.
Major work products produced for each UP phases.
Inception Phase
Vision documentInitial use-case modelInitial risk assessmentProject PlanBusiness modelPrototypes
Transition Phase
Delivered software incrementBeta test reportsGeneral user feedback
Construction Phase
Design modelSoftware componentsIntegrated software incrementTest casesTest Plan and ProceduresSupport documentation
Elaboration PhaseUse-case modelRequirements functional, non-functionalAnalysis modelSoftware architecturePreliminary design modelRevised risk list, revised prototypes
USDP
• This approach incorporates the following characteristics.– Iterative;– Incremental;– Requirements driven– Component-based– architectural
Main activities
1. Requirements capture and modeling2. Requirements Analysis3. System design4. Class design5. Interface design6. Data management design7. Construction8. Testing 9. Implementation
Activity Techniques Key Deliverables
Requirements capture and modeling
Requirements elicitation use case modeling prototype
Use case modelRequirements listInitial architecturePrototypes Glossary
Requirements analysis Collaboration DiagramsClass and object modelsAnalysis modeling
Analysis model
System design Development modelComponent modelPackage modelingArchitectural model
Overview design and implementation architecture
Class design Class and object modeling Interaction modeling State modelingDesign patterns
Design models
Activity Techniques Key Deliverables
Interface Design Class and object modeling Interaction modelingState modeling Package modelingPrototypingDesign patterns
Design models with interface specification
Data Management design Class and object modelingInteraction modelingState modelingPackage modelingDesign patterns
Design models with database specification
Construction Programming component reusedDatabase DDLProgramming idioms
Constructed system documentation
Testing Programming test procedures
Tested system
Implementation Installed system
19
END