The principles of an object oriented software development process Week 04 1.

19
The principles of an object oriented software development process Week 04 1

Transcript of The principles of an object oriented software development process Week 04 1.

Page 1: The principles of an object oriented software development process Week 04 1.

1

The principles of an object oriented

software development process

Week 04

Page 2: The principles of an object oriented software development process Week 04 1.

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)

Page 3: The principles of an object oriented software development process Week 04 1.

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.

Page 4: The principles of an object oriented software development process Week 04 1.

4

2. The length of time between deliveries is longer

Requirement can changemore useful and meaningful functionality can be provided to the customer.

Page 5: The principles of an object oriented software development process Week 04 1.

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.

Page 6: The principles of an object oriented software development process Week 04 1.

Software development stages

1. Requirement specification and analysis2. Design3. Implementation4. Testing5. Maintenance

Page 7: The principles of an object oriented software development process Week 04 1.

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

Page 8: The principles of an object oriented software development process Week 04 1.

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

Page 9: The principles of an object oriented software development process Week 04 1.

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.

Page 10: The principles of an object oriented software development process Week 04 1.

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.

Page 11: The principles of an object oriented software development process Week 04 1.

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.

Page 12: The principles of an object oriented software development process Week 04 1.

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.

Page 13: The principles of an object oriented software development process Week 04 1.

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.

Page 14: The principles of an object oriented software development process Week 04 1.

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

Page 15: The principles of an object oriented software development process Week 04 1.

USDP

• This approach incorporates the following characteristics.– Iterative;– Incremental;– Requirements driven– Component-based– architectural

Page 16: The principles of an object oriented software development process Week 04 1.

Main activities

1. Requirements capture and modeling2. Requirements Analysis3. System design4. Class design5. Interface design6. Data management design7. Construction8. Testing 9. Implementation

Page 17: The principles of an object oriented software development process Week 04 1.

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

Page 18: The principles of an object oriented software development process Week 04 1.

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

Page 19: The principles of an object oriented software development process Week 04 1.

19

END