CSE3001 - Software Engineering
CSE3001 - Software Engineering
Engineering
Module 1 OVERVIEW OF SOFTWARE
ENGINEERING
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
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
System Software
8
Application Software
9
Embedded Software
10
AI Software
Software Myths 11
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
Layered Technology
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
Planning Construction
24
▪ 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
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
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
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
MAINTENANCE REQUIREMENTS
TESTING
DESIGN
DEVELOPMENT
Scrum terminologies 50
• The scrum team estimates the work associated with each story.
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
• You select, plan, develop, test and deploy one feature (in its
simplest form) before you select, plan, develop, test and deploy
the next feature.
• 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
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.
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
▪ Complex System
▪ Air traffic control system
▪ Police command and control system
System Procurement
▪ Fix purpose of the system
▪ System to be purchased
▪ Budget and Timescale
▪ High level system requirements
System Procurement
Process
▪ System procurement process of the
COTS (Commercial Off The self)
System
Development
▪ Fundamental activities in system
development
▪ Requirements development
▪ System development
▪ Subsystem engineering
▪ System integration
▪ System testing
▪ System deployment
System Operation
▪ Human Error
▪ Person approach
▪ Systems approach
System Operation
▪ System Evolution
▪ Changes and extension of the
hardware, software and operational
processes
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.
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
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