Software Engineering: Mudassar Mahmood Mirza

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Software Engineering

Mudassar Mahmood Mirza Lecture: 4


2. The Spiral model

 Spiral model is a risk driven process model.


 It is used for generating the software projects.
 In spiral model, an alternate solution is provided if the risk is found in
the risk analysis, then alternate solutions are suggested and
implemented.
 It is a combination of prototype and sequential model or waterfall
model.
 In one iteration all activities are done, for large project's the output
is small.
 A spiral model is divided into a number of framework activities, also
called task regions. Typically, there are between three and six task
regions.
Spiral Model Task Regions
 Customer communication—tasks required to establish effective
communication between developer and customer.
 Planning—tasks required to define resources, timelines, and other project
related information. It includes estimating the cost, schedule and resources for
the iteration. It also involves understanding the system requirements for
continuous communication between the system analyst and the customer
 Risk analysis—tasks required to assess both technical and management risks.
Identification of potential risk is done while risk mitigation strategy is planned
and finalized
 Engineering—tasks required to build one or more representations of the
application. It includes testing, coding and deploying software at the customer
site
 Construction and release—tasks required to construct, test, install, and provide
user support (e.g., documentation and training).
 Customer evaluation—tasks required to obtain customer feedback based on
evaluation of the software representations created during the engineering
stage and implemented during the installation stage. Evaluation of software by
the customer. Also, includes identifying and monitoring risks such as schedule
slippage and cost overrun
The Spiral Model
 Advantages of Spiral Model
 It reduces high amount of risk.
 It is good for large and critical projects.
 It gives strong approval and documentation control.
 In spiral model, the software is produced early in the life cycle process.

 Disadvantages of Spiral Model

 It can be costly to develop a software model.


 It is not used for small projects.
The concurrent development model

 The concurrent development model is called as concurrent model.


 The communication activity has completed in the first iteration and exits in
the awaiting changes state.
 The modeling activity completed its initial communication and then go to
the underdevelopment state.
 If the customer specifies the change in the requirement, then the modeling
activity moves from the under development state into the awaiting change
state.
 The concurrent process model activities moving from one state to another
state.
One element of the
concurrent process model
The concurrent development model
applications
 The concurrent process model is often used as the paradigm for the
development of client/server applications.
 A client/server system is composed of a set of functional components.
When applied to client/server, the concurrent process model defines
activities in two dimensions
 A system dimension and a component dimension. System level issues are
addressed using three activities: design, assembly, and use. The
component dimension is addressed with two activities: design and
realization.
Advantages of the concurrent development model
 This model is applicable to all types of software development processes.
 It is easy for understanding and use.
 It gives immediate feedback from testing.
 It provides an accurate picture of the current state of a project.

Disadvantages of the concurrent development model


 It needs better communication between the team members. This may not
be achieved all the time.
 It requires to remember the status of the different activities.
COMPONENT-BASED DEVELOPMENT
 This architecture focuses on the decomposition of the
design into logical components which contain events,
methods and properties.
 Component-Based architecture divides the problem into
sub-problems and each problem associated with
component partitions.
 It provides a higher level of abstraction than object-
oriented design principles.
 It does not focus on issues such as communication
protocols and shared state.
Principles of Component-Based Architecture
1. Extensible
A component can be extended from existing components to provide new
behavior.
2. Replaceable
Components may be readily substituted with other similar components.
3. Encapsulated
Components exposes interfaces which allow the caller to use its
functionality and hides the details of the internal processes or any internal
variables or state.
4. Independent
Components are independent. It can be designed to have minimal
dependencies on other components.
5. Reusable
Components are designed to be reused in different scenarios in different
applications.
6. Not Context Specific
Components are designed to operate in different environments and
contexts. Specific information such as state data, should be passed to the
component instead of being included in or accessed by the component.
The Formal Methods Model
 The formal methods model encompasses a set of activities that
leads to formal mathematical specification of computer software.
 Formal methods enable a software engineer to specify, develop,
and verify a computer-based system by applying a rigorous,
mathematical notation.
 A variation on this approach, called cleanroom software
engineering.

 The development of formal models 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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy