0% found this document useful (0 votes)
71 views

Specialized Process Models: Session - 4

Here are the answers to the questions: 1. The Unified Process model provides a framework for object-oriented software engineering using UML. It emphasizes the important role of software architecture and consists of an iterative and incremental process flow that provides an evolutionary development approach. 2. Some of the main challenges in the Formal Methods model include that the development of formal methods is currently quite time-consuming and expensive. Also, since few software developers have the necessary background to apply formal methods, extensive training is required. Additionally, it is difficult to use the formal models as a communication mechanism for technically unsophisticated customers. 3. The main difference between the Inception and Elaboration phases is that Inception focuses on identifying business requirements,

Uploaded by

Nanishiva
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

Specialized Process Models: Session - 4

Here are the answers to the questions: 1. The Unified Process model provides a framework for object-oriented software engineering using UML. It emphasizes the important role of software architecture and consists of an iterative and incremental process flow that provides an evolutionary development approach. 2. Some of the main challenges in the Formal Methods model include that the development of formal methods is currently quite time-consuming and expensive. Also, since few software developers have the necessary background to apply formal methods, extensive training is required. Additionally, it is difficult to use the formal models as a communication mechanism for technically unsophisticated customers. 3. The main difference between the Inception and Elaboration phases is that Inception focuses on identifying business requirements,

Uploaded by

Nanishiva
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Session – 4

Specialized
Process Models
Component-based Development Model
• The process to apply when reuse is a development objective
• It Consists of the following process steps
• Available component-based products are researched and
evaluated for the application domain in question
• Component integration issues are considered
• A software architecture is designed to accommodate the
components
• Components are integrated into the architecture
• Comprehensive testing is conducted to ensure proper
functionality

• Capitalizes on software reuse, which leads to documented


savings in project cost and time

2
Formal Methods Model (Description)
• Encompasses a set of activities that leads to formal mathematical
specification of computer software
• Enables a software engineer to specify, develop, and verify a
computer-based system by applying a rigorous, mathematical
notation
• Ambiguity, incompleteness, and inconsistency can be discovered
and corrected more easily through mathematical analysis
• Offers the promise of defect-free software
• Used often when building safety-critical systems

3
Formal Methods Model (Challenges)

• Development of formal methods is currently quite time-


consuming and expensive

• Because few software developers have the necessary


background to apply formal methods, extensive training is
required

• It is difficult to use the models as a communication mechanism


for technically unsophisticated customers

4
Aspect-Oriented Software Development

It provides a process and methodological approach for defining,


specifying, designing, and constructing aspects

As modern computer based systems become more sophisticated


and complex there are certain concerns by the customer
• required properties or areas of technical interest.
• Span the entire architecture
• High-level properties of a system (e.g; security, fault
tolerance)
• Other concern affect functions (e.g; the application of
business rules)
• While others are systemic (e,g; task synchronization or
memory management)
The Unified Process
Background
• During early 1990s JmaesRumbaugh, Grady Booch and Ivar Jacobson eventually
worked together on a unified method, called the Unified Modelling Language
(UML)
• UML is a robust notation for the modelling and development of object-
oriented systems
• UML became an industry standard in 1997
• However, UML does not provide the process framework, only the necessary
technology for object-oriented development

• Unified process developed which is a framework for object-oriented software


engineering using UML
• Draws on the best features and characteristics of conventional software
process models
• Emphasizes the important role of software architecture
• Consists of a process flow that is iterative and incremental, thereby
providing an evolutionary feel
7
Background (continued)
• Consists of 5 phases:
1. Inception
2. Elaboration
3. Construction
4. Transition
5. Production

8
Phases of the Unified Process
Inception Elaboration

planning

modeling
communication

construction
Construction

deployment

Production Transition
9
(1) - Inception Phase
• Encompasses both customer communication and planning
activities of the generic process

• Business requirements for the software are identified

• A rough architecture for the system is proposed

• A plan is created for an incremental, iterative development

• Fundamental business requirements are described through


preliminary use cases
• A use case describes a sequence of actions that are performed by a user

10
(2) - Elaboration Phase
• Encompasses both the planning and modelling activities of the generic
process
• Refines and expands the preliminary use cases
• Expands the architectural representation to include five views
• Use-case model
• Analysis model
• Design model
• Implementation model
• Deployment model
• Often results in an executable architectural baseline that represents a
first cut executable system
• The baseline demonstrates the viability of the architecture but does not
provide all features and functions required to use the system

11
(3) - Construction Phase
• Encompasses the construction activity of the generic process

• Uses the architectural model from the elaboration phase as input

• Develops or acquires the software components that make each


use-case operational

• Analysis and design models from the previous phase are completed
to reflect the final version of the increment

• Use cases are used to derive a set of acceptance tests that are
executed prior to the next phase

12
(4) - Transition Phase
• Encompasses the last part of the construction activity and the first
part of the deployment activity of the generic process

• Software is given to end users for beta testing and user feedback
reports on defects and necessary changes

• The software teams create necessary support documentation (user


manuals, trouble-shooting guides, installation procedures)

• At the conclusion of this phase, the software increment becomes a


usable software release

13
(5) - Production Phase
• Encompasses the last part of the deployment activity of the generic
process

• On-going use of the software is monitored

• Support for the operating environment (infrastructure) is provided

• Defect reports and requests for changes are submitted and


evaluated

14
Unified Process Work Products
• Work products are produced in each of the first four phases of the
unified process

• In this course, we will concentrate on the analysis model and the design
model work products

• Analysis model includes


• Scenario-based model, class-based model, and behavioural model

• Design model includes


• Component-level design, interface design, architectural design, and
data/class design
End of session - 4
15 
Questions:
1. Main importance of Unified Process model.
2. Various Challenges in Formal Methods Model.
3. Difference between Inception and Elaboration.
4. Importance of Construction Phase in Unified
process model.
5. Need and importance of UML in software
development.

You might also like