0% found this document useful (0 votes)
67 views76 pages

CSE3001 - Software Engineering

This document provides an overview of the topics to be covered in a software engineering module, including the nature of software, software processes and models, and system engineering. It discusses what software is, the changing nature of software, software myths, software processes and models like waterfall, iterative development and agile development. It also covers system engineering stages like system procurement, development and operation. Traditional software development models are predictive with detailed planning, while agile models are adaptive with iterative development and customer interaction.

Uploaded by

Harsha Vardhan
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)
67 views76 pages

CSE3001 - Software Engineering

This document provides an overview of the topics to be covered in a software engineering module, including the nature of software, software processes and models, and system engineering. It discusses what software is, the changing nature of software, software myths, software processes and models like waterfall, iterative development and agile development. It also covers system engineering stages like system procurement, development and operation. Traditional software development models are predictive with detailed planning, while agile models are adaptive with iterative development and customer interaction.

Uploaded by

Harsha Vardhan
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/ 76

CSE3001 - Software

Engineering
Module 1 OVERVIEW OF SOFTWARE
ENGINEERING

Nature of Software, Software Engineering, Software


– process, project, product, Process Models –
Classical & Evolutionary models, Overview of System
Engineering

Dr. S.Nachiyappan – AP(Sr.)/ SCOPE


VIT – Chennai Campus
2

Topics to be covered
▪ What is Software?
▪ Changing Nature of Software
▪ Software Myths
▪ Software Process and its Models
▪ What is System Engineering?
▪ System vs software Engineering
▪ Stages of System Engineering
▪ System Procurement
▪ System Development
▪ System Operation

Dr. S.Nachiyappan – AP(Sr)/ SCOPE


VIT – Chennai Campus
3

What is Software
▪ Instruction – executed provide desire
features, function & performance.
▪ Data structure – to adequately
manipulate operation.
▪ Documents – operation and use of
the program.
4

Hardware Vs Software
Hardware Software
Manufacture Developed/
d engineered
wear out
deteriorate
Built using
Custom built
components
Relatively
Complex
simple
5

Failure curve for Hardware

Source : Pressman Book


6

Failure curve for Software

Source : Pressman Book


7

Changing Nature of Software

System Software
8

Changing Nature of Software

Application Software
9

Changing Nature of Software

Embedded Software
10

Changing Nature of Software

AI Software
Software Myths 11

▪ Beliefs about software and the


process used to build it.
▪ Myths have number of attributes
that have made them insidious
Management Myths 12

Myth1:
We already have a book that's full of
standards and procedures for building
software, won't that provide my people
with everything they need to know?
Reality :
▪ Are software practitioners aware of
existence standards?
▪ Does it reflect modern software
engineering practice?
Customer Myths 13

Myth1:
A general statement of objectives is sufficient
to begin writing programs— we can fill in the
details later.
Reality :
▪ A poor up-front definition is the major cause
of failed software efforts.
▪A formal and detailed description of the
information domain, function, behavior,
performance, interfaces, design constraints,
and validation criteria is essential.
▪These characteristics can be determined only
after thorough communication between
customer and developer.
Practitioner’s Myths 14

Myth1:
Once we write the program and get it to
work, our job is done.
Reality :
▪ Someone once said that "the sooner
you begin 'writing code', the longer it'll
take you to get done."
▪ Industry data indicate that between 60
and 80 percent of all effort expended
on software will be expended after it is
delivered to the customer for the first
time.
What is SE ? 15

The application of systematic,


disciplined,
quantifiable approach to the
development,
operation and
maintenance of software;
that is, the application of engineering to software.
Software Engineering – Layered Technology 16

Layered Technology

Tools: CASE preferred

Methods: technical “how to’s”

Process model: the “framework”

A quality focus: the “bedrock”


SDLC 17
5 Framework Activities 18
Process Framework 19

Software Process
Process Framework
Process framework Umbrella Activities

Umbrella Activities
Framework
Framework activities
Framework activity 1
work tasks
work products
milestones & deliverables
QA checkpoints
Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,
VIT –Chennai Campus
Framework activity
n
Software Project 20
Software Product 21
22

Software Process
models
▪ For creating a Product we need
Collection of work activities
Actions
Tasks
23

Linear Process Flow


Communication Modeling Deployment

Planning Construction
24

Iterative Process Flow


25

Evolutionary Process Flow


26

Parallel Process Flow


27

Prescriptive and Evolutionary Process Models


▪ Prescriptive Models
▪ Waterfall Model
▪ V- Model
▪ Incremental Model
▪ Evolutionary Models
▪ Prototyping Model
▪ Spiral Model
▪ Concurrent Model
Prescriptive Process Models 28

▪ Waterfall Model
Prescriptive Process Models 29

▪ Problems of Waterfall
Model
Prescriptive Process Models 30

▪ V -Model
Prescriptive Process Models 31

Incremental Process
Model
Prescriptive Process Models 32

Iterative and
Incremental Process
Model
Evolutionary Process Models 33

Prototyping Model
Evolutionary Process Models 34

Spiral Model
Evolutionary Process Models 35

Concurrent Model
Evolutionary Process Models 36

RAD Model
Evolutionary Process Models 37

Unified Process Model


Dynamic Models 38

Agile Model
Agile Development Process 39

Objective
To develop an understanding on the Agile software development
methodologies in the aspects of Agile Requirements analysis, Code-
Test Design, Scrum, XP and Lean approaches in software
development, which are Industry specific strategies and approaches.
40

Introduction
▪ Process
▪ Splitting of development work into distinct phases/stages.
▪ Process Model / Methodology
▪ Contains Specific Deliverables and artifacts

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
Traditional vs Agile 41

• Traditional models are based on “Predictive approach”;


• Agile model is based on “Adaptive approach”;
• Predictive–model usually have detailed planning, have complete
forecast;
• Entirely depend on requirement analysis and planning done
• Adaptive-no detailed planning
• Have clarity on what features need to be developed

Customer interaction is the backbone of Agile methodology, and open


communication with minimum documentation.
42

What is “Agility”?
▪ Effective (rapid and adaptive) response to change
▪ Effective communication among all stakeholders
▪ Drawing the customer onto the team
▪ Organizing a team so that it is in control of the work performed
Yielding …
▪ Rapid, incremental delivery of software

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
43

An Agile Process
▪ Is driven by customer descriptions of what is required (scenarios)
▪ Recognizes that plans are short-lived
▪ Develops software iteratively with a heavy emphasis on
construction activities
▪ Delivers multiple ‘software increments’
▪ Adapts as changes occur

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
Agile Principles 44

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
Agile Process Models 45

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
46

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


47
Scrum
• A light-weight agile process tool
• Split your organization into small, cross-
functional, self-organizing teams.
• Split your work into a list of small, concrete Product/ Project Scrum Master Scrum Team
deliverables. Sort the list by priority and Owner
estimate the relative effort of each item.
48
Scrum (contd..)

Split time into short fixed-length iterations/ sprints (usually 2 – 4


weeks), with potentially shippable code demonstrated after each
iteration.
January May

Optimize the release plan and update priorities in collaboration with


the customer, based on insights gained by inspecting the release
after each iteration.

Optimize the process by having a retrospective after each iteration.


Scrum vs. Waterfall 49

MAINTENANCE REQUIREMENTS

TESTING
DESIGN

DEVELOPMENT
Scrum terminologies 50

• The project/ product is described as a list of features: the backlog.


Things we do in Scrum
• The features are described in terms of user stories.

• The scrum team estimates the work associated with each story.

• Features in the backlog are ranked in order of importance.

• Result: a ranked and weighted list of product features, a roadmap.



• Daily scrum meeting to discuss What did you do y’day? What will
you do today? Any obstacles?
Scrum Artifacts 51

Sample User story


The total effort each iteration can
accommodate leads to number of user story
Efforts per iteration
10hrs
Efforts: 2hrs IA, 6hrs Development, 2hrs Testing

ti ons
a
Iter Iteration/ Sprint 1 Iteration/ Sprint 2
View

Release
One release may contains number of iterations
52
Scrum planning example
Total hours of work iteration
Iteration cycle of 3
weeks can accommodate
Working hours per day is 8 8hrs x 5days x 3weeks = 120hrs

Product backlog of 20 stories


Each story effort is 10 hrs

Iteration backlog or number of stories per iteration


12 user story

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


Scrum in a nutshell 53

So instead of a large group spending a long time building a big


thing, we have a small team spending a short time building a
small thing.

But integrating regularly to see the whole.

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


54
Kanban
• Lean approach to agile development

• Similar to Scrum in the sense that you focus on features as


opposed to groups of features – however Lean takes this one step
further again.

• You select, plan, develop, test and deploy one feature (in its
simplest form) before you select, plan, develop, test and deploy
the next feature.

• Aim is to eliminate ‘waste’ wherever possible…

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


Kanban (contd…) 55

Visualize the workflow


• Split the work into pieces, write each item
on a card and put on the wall
• Use named columns to illustrate where
each item is in the workflow
Limit WIP (work in progress)

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


Kanban (contd…) 56

• Assign explicit limits to how many items may be in progress at each stage

Measure the lead time (average time to complete one item, sometimes called
“cycle time”)
• Optimize the process to make lead time as small and predictable as possible

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


Kanban Board Illustration - I 57

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE, VIT


Kanban Board Illustration - II 58

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE, VIT


59

Extreme Programming
▪ Most prominent Agile Software development method
▪ Prescribes a set of daily stakeholder practices
▪ “Extreme” levels of practicing leads to more responsive software.
▪ Changes are more realistic, natural, inescapable.

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
60

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
61

System Engineering
▪ System Engineering is related to all
the perspective of development and
evolution of complex system where
software plays an important role
▪ Merely, it is related to the
development of Software, Hardware,
Policy, Process design and system
deployment

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
Complex System 62

▪ System is a collection of interrelated


components which work together to
achieves some objectives
▪ Example : Laser Pointer, Water level
Controller

Source : Google Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
Complex System 63

▪ Complex System
▪ Air traffic control system
▪ Police command and control system

Source : Google Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
System vs Software Engineering 64

▪ Related to all the perspective of ▪ Software engineering is part of the


computer based system system engineering
development which consists of
Hardware, Software and Process
Engineering
▪ Entails in software development
▪ entails in system specification,
architectural design, integration
and deployment

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
Stages of System Engineering 65

▪ Procurement or Acquisition : Fix on purpose of the system


▪ Development : System development
▪ Operation : System deployment and training

Source : I. Sommerville Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
66

Professional disciplines throughout the lifetime of the system

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
67

System Procurement
▪ Fix purpose of the system
▪ System to be purchased
▪ Budget and Timescale
▪ High level system requirements

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
68

System Procurement
Process
▪ System procurement process of the
COTS (Commercial Off The self)

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
69

System
Development
▪ Fundamental activities in system
development
▪ Requirements development
▪ System development
▪ Subsystem engineering
▪ System integration
▪ System testing
▪ System deployment

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
70

System Operation
▪ Human Error
▪ Person approach
▪ Systems approach

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
71

System Operation
▪ System Evolution
▪ Changes and extension of the
hardware, software and operational
processes

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
Summary 72

▪ Software Engineering is comprises of Software, Hardware and other


Applications Software's.
▪ Software Engineering consists of Software Process , Project and Product
and Framework activities.
▪ Software Process models comprises of Perspective and Evolutionary
Models.
▪ Dynamic Models comprises of Agile Model and the tools of Agile were
discussed.
▪ System engineering is related to the development of Software, Hardware,
Policy, Process design and system deployment System Evolution
▪ The fundamental systems engineering processes are system procurement,
development and operation

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
HOTS Questions 73

1. Match the given software types against its characteristics and examples.
Software Type (A) Characteristics (B) Examples (C)
Product Line Makes use of non numerical Dashboard Displays
Software algorithms to solve complex
problems.
Application Resides within a system and is Pattern recognition
Software used to control features available in
the system
Artificial collection of programs written to Word Processing software
Intelligence service other programs
Software
Embedded Designed to provide a specific Real Time Manufacturing
Software capability for use by process control
many different customers.

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
HOTS Questions 74

2. Identify the Generic process frame work activities and umbrella activities
from the given options.
Communication
Software Project Tracking
Risk Management
Planning
Measurement
Modelling
Testing
Software Configuration Management
Deployment
Software Quality Assurance
Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,
VIT –Chennai Campus
HOTS Questions 75

3. The software process which is represented schematically is shown in the


figure.

For the given diagram, provide the


name of the framework activity # 1
used in the software development
process and Identify the actions and
task sets for the identified frame work
activity

Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,


VIT –Chennai Campus
HOTS Questions 76

4. Identify the process flow shown in the figure 3 & 4 related to organization
of five generic process framework activities involved in software
development process.

Figure 3

Figure 4
Dr. V. Sakthivel & Dr.K.P.Vijayakumar AP(Sr.G) /SCOPE,
VIT –Chennai Campus

You might also like