Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 59

VI

CSE1005 SOFTWARE T

DESIGN & DEVELOPMENT

UNIT – 1:
DR. M. MADIAJAGAN
ASSOCIATE PROFESSOR / SCOPE
VIT
1

Dr. M. Madiajagan Associate Professor, SCOPE, VIT


VI
SYLLABUS T

• INTRODUCTION TO SOFTWARE
ENGINEERING
 PROCESS

VIT
PROJECT AND PRODUCT

Associate Professor, SCOPE,


Dr. M. Madiajagan
PROCESS MODELS :-
CLASSICAL AND EVOLUTIONARY

2
VI
Intro.. to Software Engineering T

What is Software?
Software is:
(1) instructions (computer programs) that when
executed provide desired features, function, and

VIT
Associate Professor, SCOPE,
performance;

Dr. M. Madiajagan
(2) data structures that enable the programs to
adequately manipulate information and
(3) documentation that describes the operation
and use of the programs
3
VI
What is Software? T

• Software is developed or engineered, it


is not manufactured in the classical
sense.

VIT
• Software doesn't "wear out."

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Although the industry is moving
toward component-based construction,
most software continues to be custom-
built.
4
VI
Software Applications: T

• system software
• application software
• Engineering /scientific software

VIT
Associate Professor, SCOPE,
• embedded software

Dr. M. Madiajagan
• product-line software
• WebApps (Web applications)
• AI software 5
VI
Software—New Categories T

• Open world computing—pervasive, distributed


computing
• Ubiquitous computing—wireless networks
• Netsourcing—the Web as a computing engine
• Open source—”free” source code open to the computing

VIT
community (a blessing, but also a potential curse!)

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Also … (see Chapter 31)
• Data mining
• Grid computing
• Cognitive machines
• Software for nanotechnologies
6
VI
Characteristics of WebApps - I T

• Network intensiveness.
• Concurrency.
• Unpredictable load.

VIT
• Performance

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Availability.
• Data drivenContent sensitive.
• Continuous evolution.
• Immediacy.
7
• Security.
VI
Software Engineering T

• Some realities:
• a concerted effort should be made to understand the problem
before a software solution is developed
• design becomes a pivotal activity
• software should exhibit high quality

VIT
Associate Professor, SCOPE,
• software should be maintainable

Dr. M. Madiajagan
• The important definition:
• [Software engineering is] the establishment and use of
sound engineering principles in order to obtain
economically software that is reliable and works efficiently
8
on real machines.
VI
Software Engineering T

• The IEEE definition:


• Software Engineering:
• (1) The application of a systematic,
disciplined, quantifiable approach to the

VIT
development, operation, and maintenance of

Associate Professor, SCOPE,


Dr. M. Madiajagan
software; that is, the application of engineering to
software.
• (2) The study of approaches as in (1).

9
VI
A Layered Technology: T

• Layered Technology

VIT
tools

Associate Professor, SCOPE,


tools

Dr. M. Madiajagan
methods

process model

a “quality” focus
10
A Process Framework VI
T
• Process framework
• Framework activities
• work tasks
• work products
• milestones &
• deliverables

VIT
• QA checkpoints

Associate Professor, SCOPE,


• Umbrella Activities

Dr. M. Madiajagan
11
VI
Framework Activities T

• Communication
• Planning
• Modeling

VIT
• Analysis of requirements

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Design
• Construction
• Code generation
• Testing
12
• Deployment
VI
Umbrella Activities T

• Software project management


• Formal technical reviews
• Software quality assurance
• Software configuration management

VIT
Associate Professor, SCOPE,
• Work product preparation and production

Dr. M. Madiajagan
• Reusability management
• Measurement
• Risk management

13
Adapting a Process Model VI
T
• the overall flow of activities, actions,
and tasks and the interdependencies
among them
• the degree to which actions and
tasks are defined within each

VIT
framework activity

Associate Professor, SCOPE,


Dr. M. Madiajagan
• the degree to which work products
are identified and required
• the manner which quality assurance
activities are applied
14
VI
Adapting a Process Model … T
• the manner in which project tracking
and control activities are applied
• the overall degree of detail and rigor
with which the process is described
• the degree to which the customer and

VIT
Associate Professor, SCOPE,
other stakeholders are involved with

Dr. M. Madiajagan
the project
• the level of autonomy given to the
software team
• the degree to which team
15
organization and roles are prescribed
VI
The Essence of Practice T

• It is suggested: to-
1. Understand the problem
(communication and analysis).

VIT
2. Plan a solution (modeling and

Associate Professor, SCOPE,


software design).

Dr. M. Madiajagan
3. Carry out the plan (code
generation).
4. Examine the result for accuracy (testing
and quality assurance). 16
VI
Understand the Problem T

• Who has a stake in the solution to the problem?


That is, who are the stakeholders?
• What are the unknowns? What data, functions,
and features are required to properly solve
the problem?

VIT
• Can the problem be compartmentalized? Is it

Associate Professor, SCOPE,


Dr. M. Madiajagan
possible to represent smaller problems that
may be easier to understand?
• Can the problem be represented graphically? Can
an analysis model be created?

17
VI
Plan the Solution T

• Have you seen similar problems before? Are there


patterns that are recognizable in a potential
solution? Is there existing software that implements
the data, functions, and features that are required?
• Has a similar problem been solved? If so, are

VIT
elements of the solution reusable?

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Can sub-problems be defined? If so, are solutions
readily apparent for the sub-problems?
• Can you represent a solution in a manner that leads
to effective implementation? Can a design model be
created?
18
VI
Carry Out the Plan T
• Does the solution conform to the plan? Is source code
traceable to the design model?
• Is each component part of the solution provably correct? Has
the design and code been reviewed, or better, have
correctness proofs been applied to algorithm?

Examine the Result:-

VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
• Is it possible to test each component part of the solution? Has
a reasonable testing strategy been implemented?
• Does the solution produce results that conform to the data,
functions, and features that are required? Has the software
been validated against all stakeholder requirements?

19
VI
How to Start….. T

• Every software project is precipitated by


some business need—
• the need to correct a defect in an existing
application;

VIT
• the need to the need to adapt a ‘legacy system’

Associate Professor, SCOPE,


Dr. M. Madiajagan
to a changing business environment;
• the need to extend the functions and features of
an existing application, or
• the need to create a new product, service, or
system.
20
VI
Process Models: T

• The CMMI Model


• Personal Software Process (PSP)
• Team Software Process (TSP)
• Process Patterns

VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
• Process Assessment
• Assessment and Improvement
• The Primary Goal of Any Software Process:
21
VI
The CMMI T
The CMMI defines each process area in
terms of “specific goals” and the “specific
practices” required to achieve these goals.
Specific goals establish the characteristics
that must exist if the activities implied by a

VIT
Associate Professor, SCOPE,
process area are to be effective.

Dr. M. Madiajagan
Specific practices refine a goal into a set
of process-related activities.

22
VI
Personal Software Process (PSP) T
• Recommends five framework activities:
Planning
 High-level design
 High-level design review
 Development

VIT
 Post-mortem

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Stresses the need for each software engineer to
identify errors early and as important, to
understand the types of errors
23
VI
Team Software Process (TSP) T
• Each project is “launched” using a “script”
that defines the tasks to be accomplished
 Teams (of 2 to 20 engineers) are self-
directed:
• Plan and track work, set goals, own processes

VIT
and plans

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Measurement is encouraged
• Measures are analyzed with the intent of
improving the team process (through
coaching, motivation, …)
24
VI
Process Patterns T
• Process patterns define a set of activities, actions,
work tasks, work products and/or related
behaviours
• A template is used to define a pattern
• Typical examples:

VIT
Associate Professor, SCOPE,
• Customer communication (a process activity)

Dr. M. Madiajagan
• Analysis (an action)
• Requirements gathering (a process task)
• Reviewing a work product (a process task)
• Design model (a work product)
25
VI
Process Assessment T

• The process should be assessed to ensure that it meets


a set of basic process criteria that have been shown to
be essential for a successful software engineering.
• Many different assessment options are available :
• SCAMPI (Standard CMMI Appraisal Method for

VIT
Associate Professor, SCOPE,
Process Improvement)

Dr. M. Madiajagan
• CBA IPI (CMM-Based Appraisal for Internal
Process Improvement)
• SPICE (Software Process Improvement and
Capability dEtermination)
• ISO 9001:2000 26
VI
Process Assessment T

• SCAMPI:-
method to provide benchmark-quality ratings relative
to Capability Maturity Model Integration (CMMI) models.
SCAMPI appraisals are used to identify strengths and

VIT
weaknesses of current processes, reveal development/acquisition

Associate Professor, SCOPE,


risks, and determine capability and maturity level ratings. They

Dr. M. Madiajagan
are mostly used either as part of a process improvement program
or for rating prospective suppliers.
• CBA IPI:
 is a diagnostics, enables, and encourages an
organization's commitment to process
27
improvement.
VI
Process Assessment T

• SPICE: ( Software Process Improvement and Capability


dEtermination): is an International Framework for assessment
of the Software Processes developed jointly by the
ISO(International Organization for Standardization)
• ISO 9001:2000 :- specifies requirements for a quality

VIT
management system where an organization.

Associate Professor, SCOPE,


Dr. M. Madiajagan
needs to demonstrate its ability to consistently
provide product that meets customer and applicable
regulatory requirements, and
aims to enhance customer satisfaction through the
effective application of the system
28
Assessment and Improvement

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


29
VI

VIT
The Primary Goal of Any Software Process: VI
T
High Quality

VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
30
VI
Software Process - Objectives: T

To introduce software process models


 To describe three generic process models and
when they may be used
To describe outline process models for

VIT
Associate Professor, SCOPE,
requirements engineering, software development,

Dr. M. Madiajagan
testing and evolution
To explain the Rational Unified Process model
To introduce CASE technology to support
software process activities
31
VI
Software Processes T

 Software process models


 Process iteration
Process activities

VIT
The Rational Unified Process

Associate Professor, SCOPE,


Dr. M. Madiajagan
 Computer-aided software engineering

32
VI
The Software Process T

• A structured set of activities required to develop a


software system
• Specification;
• Design;

VIT
• Validation;

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Evolution.
• A software process model is an abstract
representation of a process. It presents a
description of a process from some particular
perspective. 33
VI
Generic software process models T
• The waterfall model
• Separate and distinct phases of specification and
development.
• Evolutionary development
• Specification, development and validation are
interleaved.

VIT
• Component-based software engineering

Associate Professor, SCOPE,


Dr. M. Madiajagan
• The system is assembled from existing
components.
• There are many variants of these models e.g. formal
development where a waterfall-like process is used but
the specification is a formal specification that is refined
through several stages to an implementable design. 34
Waterfall Model:-

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


35
VI

VIT
VI
Waterfall Model Phases: T
Requirements analysis and definition
System and software design
Implementation and unit testing
Integration and system testing

VIT
 Operation and maintenance

Associate Professor, SCOPE,


Dr. M. Madiajagan
 The main drawback of the waterfall
model is the difficulty of accommodating
change after the process is underway. One
phase has to be complete before moving
onto the next phase. 36
VI
Waterfall Model problems T

Inflexible partitioning of the project into distinct


stages makes it difficult to respond to changing
customer requirements.
 Therefore, this model is only appropriate when
the requirements are well-understood and

VIT
Associate Professor, SCOPE,
changes will be fairly limited during the design

Dr. M. Madiajagan
process.
 Few business systems have stable requirements.
 The waterfall model is mostly used for large
systems engineering projects where a system is
37
developed at several sites.
The V-Model:

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


38
VI

VIT
VI
The V-Model: T
• A Variation in the representation of the Waterfall model is
called the V-Model.
• The V-Model depicts the relationship of quality assurance
actions to the actions associated with communication,
modelling and early construction activities.
• As a software team moves down the left side of the V,

VIT
basic problem requirements are redefined into

Associate Professor, SCOPE,


progressively more detailed and technical representations

Dr. M. Madiajagan
of the problem and its solution.
• The V-Model provides a way of visualizing how
verification and validation actions are applied to earlier
engineering work.
39
VI
Evolutionary development T
1. Exploratory development
Objective is to work with customers and to evolve a
final system from an initial outline specification. Should start
with well-understood requirements
and add new features as proposed by the
customer.

VIT
2. Throw-away prototyping

Associate Professor, SCOPE,


Objective is to understand the system

Dr. M. Madiajagan
requirements. Should start with poorly understood
requirements to clarify what is really needed.

40
Evolutionary Development

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


41
VI

VIT
VI
Evolutionary Development ….. T

Problems:
• Lack of process visibility;
• Systems are often poorly structured;
• Special skills (e.g. in languages for rapid

VIT
prototyping) may be required.

Associate Professor, SCOPE,


Dr. M. Madiajagan
Applicability :
• For small or medium-size interactive systems;
• For parts of large systems (e.g. the user
interface);
• For short-lifetime systems. 42
VI
Component-Based Software Engineering T
1. Based on systematic reuse where systems
are integrated from existing components or
COTS (Commercial-off-the-shelf) systems.
2. Process stages

VIT
• Component analysis;

Associate Professor, SCOPE,


• Requirements modification;

Dr. M. Madiajagan
• System design with reuse;
• Development and integration.
3. This approach is becoming increasingly
used as component standards have emerged. 43
Reuse-oriented development

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


44
VI

VIT
VI
Process Iteration T
System requirements ALWAYS evolve in the
course of a project so process iteration where
earlier stages are reworked is always part of the
process for large systems.
Iteration can be applied to any of the generic

VIT
process models.

Associate Professor, SCOPE,


Dr. M. Madiajagan
Two (related) approaches
• Incremental delivery;
• Spiral development.

45
VI
Incremental Delivery T

• Rather than deliver the system as a single


delivery, the development and delivery is broken
down into increments with each increment
delivering part of the required functionality.
• User requirements are prioritised and the highest

VIT
Associate Professor, SCOPE,
priority requirements are included in early

Dr. M. Madiajagan
increments.
• Once the development of an increment is started,
the requirements are frozen though requirements
for later increments can continue to evolve.
46
Incremental Model:

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


47
VI

VIT
VI
Evolutionary Process Models - (a)Prototyping T
• Although prototyping can be used as a stand-alone process
model, it is more commonly used as a technique that can be
implemented within the context of any one of the process
models.

VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
48
VI
Extreme Programming T
• An approach to development based on the
development and delivery of very small
increments of functionality.
• Relies on constant code improvement, user

VIT
involvement in the development team and

Associate Professor, SCOPE,


pairwise programming (ie, Pair

Dr. M. Madiajagan
Programming- means TWO person will be
sitting in one terminal or node and do the
coding, one acts as a programmer and the
other acts as a code reviewer.). 49
VI
Spiral development T
• Process is represented as a spiral rather than
as a sequence of activities with
backtracking.
• Each loop in the spiral represents a phase in
the process.

VIT
Associate Professor, SCOPE,
• No fixed phases such as specification or

Dr. M. Madiajagan
design - loops in the spiral are chosen
depending on what is required.
• Risks are explicitly assessed and resolved
throughout the process. 50
Spiral Development

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


51
VI

VIT
VI
Spiral model sectors T
• Objective setting
• Specific objectives for the phase are
identified.
Risk assessment and reduction
• Risks are assessed and activities put in place to reduce

VIT
the key risks.

Associate Professor, SCOPE,


● Development and validation

Dr. M. Madiajagan
• A development model for the system is chosen which
can be any of the generic models.
● Planning
• The project is reviewed and the next phase of the spiral
52
is planned.
VI
Process Activities T

• Software Specification
• Software Design and

VIT
Implementation

Associate Professor, SCOPE,


Dr. M. Madiajagan
• Software Validation
• Software Evolution
53
VI
Software Specification: T
• The process of establishing what services
are required and the constraints on the
system’s operation and development.
• Requirements engineering process
• • Feasibility study;

VIT
Associate Professor, SCOPE,
• • Requirements elicitation and analysis;

Dr. M. Madiajagan
• • Requirements specification;
• • Requirements validation.

54
The Requirements Engineering

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


55
VI

VIT
VI
Software Design and Implementation:- T
• ● The process of converting the system
specification into an executable system.
• ● Software design
• • Design a software structure that realises the
specification;

VIT
Associate Professor, SCOPE,
• ● Implementation

Dr. M. Madiajagan
• • Translate this structure into an executable
program;
• ● The activities of design and
implementation are closely related and may 56
be inter-leaved.
VI
Design process activities T

• Architectural design
• Abstract specification
• Interface design

VIT
Associate Professor, SCOPE,
• Component design

Dr. M. Madiajagan
• Data structure design
• Algorithm design
57
The software design process

Dr. M. Madiajagan
T

Associate Professor, SCOPE,


58
VI

VIT
VI
Further Queries!!! T

• Any Questions ? ? ?
• Otherwise - contact me in my chamber:
SJT-6thFloor – 613-K.

VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
59

You might also like