2. Oo S/w Dev Process Flashcards
Object oriented system development life cycle
The need of software development process that consists of analysis, design, implementation, testing and refinement is to transform users needs into software solution.The satisfy Those needs.
Transformations
Software development process can be divided into small, Interactive support processes which are generally viewed as series of transformations
-Output of one transformation becomes the input of another transformation
transformation1- analysis
Translate users needs into system Requirements.
The way users use system provides the input to the users requirement.
transformation 2- design
Start with the problems statement and ends with a detailed design that can be transformed into OS
- This includes bulk cops software development activities , including how to build a software , its development and its testing
transformation 3-implementation
Deployment of the design that will satisfy users
- It Include the account of equipment, Procedures, People.
And their likes
- It represents embarrassing the software product within the operational environment
Four quality measures for building high quality software
-
Correspondence
Measures how much the delivered system matches with the needs of customers as described in requirement statements -
correctness
checks the consistency of the product req with respect to design specifications -
validation
Predicting Correspondence—-“ Am I building The right product” -
validation
“ Am I building the product right”
Oo system development- usecase driven approach
- Methodology with that focuses on use cases as the primary means of understanding and modelling the system requirements
- This approach will ensure that system functionality is defined from the perspective of how users will interact with the system, making it both user centred and behaviour oriented.
usecase
- Description of how system interacts with external entities (actors.) describing the sequence of actions performed by the system to achieve a specific goal
- Each use case represent functional requirement of the system
OO sdlc consists of three macro processes:
1. Object oriented analysis
2. object oriented design
3. object oriented implementation.
Object oriented system development includes these activities
- OO analysis- use case driven
- OO design
- prototyping
- implementation- component based development
- incremental testing.
1 oo analysis
collaboration def
Analysis phase is confirmed with :
1. determining system requirements
2. identifying classes and their relationships to the other classes in problem domain
– For this, we need to identify users or actors
collaboration
Intersection among the objects rolls to achieve a given goal Is called as collaboration
2 OO design
- is to design the classes odentified during the ana phase and user interface
- here, we identify additional obj and clses that supports the implementation
“first build the obj model based on obj and their relationship, then iterate and refine” - Design and refine classes.
- Design and refine attributes.
- Design and refine methods.
- Design and refine Structures.
- Design and refine Associations.
3 prototyping
3 types:
1. Horizontal prototyping
2. vertical prototyping
3. analysis prototyping
horizontal
- It is a Representation of the model’s interface but contains no functionality
- Very quickly implement provides overall feel of the system
vertical
- Subset of system features with complete functionality
- Advantage of this method is that few implemented functions can be tested in grade depth
analysis
- Prototyping that is done during analysis phase of the system development process
- Primarily used to validate and refine systems requirements before moving onto the detailed design and implementation.
4 implementation
The identified classes and methods are coded for implemented.
component based development(CBD)
Approach of building software systems by assembling pre existing or newly developed software components
- Components are modular reusable and self contained units that encapsulate specific functionality and interact with other components through well defined interfaces
- It makes products available to the marketplace that otherwise would be prohibitively expensive
- eg: computer- aided s/w engineering(CASE) tools.
Rapid Application Development
Set of tools and techniques that can be used to build an application faster than typically possible with traditional method.
5 Incremental testing
There are two types of incremental testing:
1. Top down approach
- Unit testing
- integration testing
2. bottom up approach
- black box testing
- white box testing
Reusability
- Ability to use previously developed components classes or code in multiple applications or different parts. It is same application without modification or with minimal adjustments
- Reusability is the core Principle of OOP
Reusability can be implemented through:
1. Information hiding (encapsulation)
2. CBD (component based development)
3. Creation and maintenance of object repository
Object oriented methodologies
- New System Development Approach, which encourages and facilitates reuse of software components
- It employs international stranded unified modelling languages (uml.) from the object management group (omg)
- Using this methodology a system can be developed on a component basis which enables effective reuse of existing components, It facilitates sharing of other system components
Types of object oriented methodologies
1. Object modelling techniques (Omt)
2. Object process methodology (OPM)
3. Rational unified process (RUP)
1 Object modelling techniques (OMT)
diag: “C:\Users\mural\OneDrive\Desktop\BSCS\3rd year\6th sem\OOSD\2. uni
- First OO Methodologies introduced by Rumbaugh in 1991.
- Omt uses three different models that are combined in a way that is comparable to the oldest structured models
diag:
Requirements
analysis ———— Analysing requirements
object model
dynamic model
functional model —— Analysis models(3)
design ——– Object design
coding
1 Analysis
- goal is to build models of the world
- The reqs of users developers and managers provide info needed to develop the initial prblm st.
2 OMT models
a. Object model
- depicts obj clses and their relationships as a cls diag, Which represents the static struc of the sys
- It observes all objects As static and does not pay attention to their dynamic nature.
b. Dynamic model
- It captures behaviour of system over time and flow control and events in event trace diagrams in state transition diagrams.
- Portraits changing occuring in States of various objects with events that might occur in the system.(Considers objects as dynamic)
c. functional model
- Describes data Transform of the system
- Describes flow of data and changes that occur to the data throughout the system
3 Design
- Specifies all the details needed to describe how the system will be implemented like Details of system analysis and system design are implemented
2 Object process methodology (OPM)
- Second generation methodology introduced in 1995
- Has one diagram– Object process diagram (OPD) Which is used for modelling the structure, function and behaviour of the system
- It has stronger emphasis on modelling, but weaker emphasis on process
It has three main processes:
1 Initiating
Determines: - high level requirements
- scope of the system
- resources that will be required
2 Developing
Involves detailed - analysis
- design
- implementation
3 Deploying
Introduction of system to the user and subsequent maintenance of the system
3 Traditional unified process (rup)
Developed by rational cooperation in 1998
It contains four phases, which can be broken down to iterations:
1. Inception
2. elaboration
3. construction
4. transition
- Each iteration contains nine work areas called disciplines
- A discipline depends on a phase in which iteration is taking place
- For each discipline. RUP defines a set of artefacts activities and roles