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

Session 4 - Specialized Models

Uploaded by

2100030432cseh
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)
22 views

Session 4 - Specialized Models

Uploaded by

2100030432cseh
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/ 21

Session – 4

Specialized
Process Models
Agenda for session -3
• A Generic Process Model
• Prescriptive Process models
1. Waterfall Model.
2. Incremental Process Model.
3. Evolutionary Process Model.
Prototyping
• Spiral Model

4. Concurrent model
Agenda for session -4
Specialized Process Model
1. Component Based Development
2. Formal Methods Model
3. Aspect-Oriented Software Development

The Unified Process​

3
Specialized Process Model in Software Engineering

Specialized Process Models: Specialized process models use many of


the characteristics of one or more of the conventional models
presented so far, however they tend to be applied when a narrowly
defined software engineering approach is chosen. They include
1. Component Based Development
2. Formal Methods Model
3. Aspect-Oriented Software Development

4
Component-based Development
Model
• The component based development model incorporates many of
the characteristics of the spiral 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 5
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

6
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

7
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)
8
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

10
Background (continued)
• Consists of 5 phases:
1. Inception
2. Elaboration
3. Construction
4. Transition
5. Production

11
11
Phases of the Unified
Process
Inception Elaboration

planning

modeling
communication

construction
Construction

deployment

Production Transition
12
12
(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

13
(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

14
14
(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

15
15
(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

16
16
(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

17
17
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
18 
18
The importance of Unified Process
The Unified Process recognizes the importance of
customer communication and streamlined methods
for describing the customer's view of a system.

It emphasizes the important role of software


architecture and “helps the architect focus on the
right goals, such as understandability, reliance to
future changes, and reuse”

19
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.

20
Answer
3. Difference between Inception and Elaboration
The inception phase: where we define a
'vision' of the end-product and the associated
business case, defining the overall scope of the
project.

The elaboration phase: where we refine the


definition of the product, define and baseline
an architecture, and develop a more precise
plan for its development and deploymen

21

You might also like