Professional Documents
Culture Documents
CSE1005 SSD - UNIT 1 Day2-5-SOFTWARE ENGINEERING-04th-to-14th Dec-2017
CSE1005 SSD - UNIT 1 Day2-5-SOFTWARE ENGINEERING-04th-to-14th Dec-2017
CSE1005 SOFTWARE T
UNIT – 1:
DR. M. MADIAJAGAN
ASSOCIATE PROFESSOR / SCOPE
VIT
1
• INTRODUCTION TO SOFTWARE
ENGINEERING
PROCESS
VIT
PROJECT AND PRODUCT
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
VIT
• Software doesn't "wear out."
• 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
VIT
community (a blessing, but also a potential curse!)
• Network intensiveness.
• Concurrency.
• Unpredictable load.
VIT
• Performance
• 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
VIT
development, operation, and maintenance of
9
VI
A Layered Technology: T
• Layered Technology
VIT
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
Dr. M. Madiajagan
11
VI
Framework Activities T
• Communication
• Planning
• Modeling
VIT
• Analysis of requirements
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
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
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
VIT
• Can the problem be compartmentalized? Is it
17
VI
Plan the Solution T
VIT
elements of the solution reusable?
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
VIT
• the need to the need to adapt a ‘legacy system’
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
VIT
and plans
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
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
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
VIT
management system where an organization.
Dr. M. Madiajagan
T
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
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
VIT
The Rational Unified Process
32
VI
The Software Process T
VIT
• Validation;
VIT
• Component-based software engineering
Dr. M. Madiajagan
T
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
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
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
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
Dr. M. Madiajagan
requirements. Should start with poorly understood
requirements to clarify what is really needed.
40
Evolutionary Development
Dr. M. Madiajagan
T
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.
VIT
• Component analysis;
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
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.
45
VI
Incremental Delivery T
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
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
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
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.
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
VIT
Associate Professor, SCOPE,
• • Requirements elicitation and analysis;
Dr. M. Madiajagan
• • Requirements specification;
• • Requirements validation.
54
The Requirements Engineering
Dr. M. Madiajagan
T
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
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