Professional Documents
Culture Documents
L T P J C
2 0 2 4 4
Dr. S M SATAPATHY
Associate Professor,
School of Computer Science and Engineering,
VIT Vellore, TN, India – 632 014.
SYLLABUS
2
SYLLABUS :: MODULE-WISE OVERVIEW
1. OVERVIEW
3. MODELLING - REQUIREMENTS
4. SOFTWARE DESIGN
6. SOFTWARE EVOLUTION
7. QUALITY ASSURNACE
8. RECENT TRENDS
3
Module – 1
1. Nature of Software
2. Software Engineering
4. Process Models
4
INTRODUCTION
5
Software
Software is: (1) instructions (computer programs) that when
executed provide desired features, function, and performance; (2)
data structures that enable the programs to adequately manipulate
information and (3) documentation that describes the operation and
use of the programs.
7
Software Applications
system software
application software
engineering/scientific software
embedded software
product-line software
AI software
8
Software Applications – New Categories
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
community (a blessing, but also a potential curse!)
Also …
Data mining
Grid computing
Cognitive machines
Software for nanotechnologies
9
Legacy Software
environments or technology.
requirements.
network environment.
10
What do you mean by Software Engineering?
11
Software Engineering
Got it?
13
Software Engineering
14
Software Engineering
15
Software Engineering
16
Software Engineering
17
A Layered Technology
tools
methods
process model
a “quality” focus
18
Process Framework
Process framework
Framework activities
work tasks
work products
QA checkpoints
Umbrella Activities
19
Framework Activities
Communication
Planning
Modeling
Analysis of requirements
Design
Construction
Code generation
Testing
Deployment
20
Umbrella Activities
Reusability management
Measurement
Risk management
21
The Essence of Practice
Polya suggests:
22
Understand the Problem
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
model be created?
23
Plan the Solution
Have you seen similar problems before? Are there patterns that
that implements the data, functions, and features that are required?
solution reusable?
24
Carry out the Plan
25
Examine the Result
functions, and features that are required? Has the software been
26
Hooker’s General Principles
7: Think!
27
Software Myths
and practitioners
but …
therefore …
engineering
28
Software Myths (Management Perspectives)
need to know.
it later.”
30
Software Myths (Practitioner Perspectives)
Once we write the program and get it to work, our job is done.
“The sooner you begin ‘writing code’, the longer it’ll take you to
get done.”
quality.
working program.
34
Cost of Software Production
development costs.
system reliability.
used.
35
Attributes of Good Software
The software should deliver the required functionality and
performance to the user and should be maintainable, dependable
and acceptable.
Maintainability
Software must evolve to meet changing needs;
Dependability
Software must be trustworthy;
Efficiency
Software should not make wasteful use of system resources;
Acceptability
Software must accepted by the users for which it was designed.
This means it must be understandable, usable and compatible
with other systems. 36
Key Challenges of Software Engineering
Heterogeneity
Delivery
Trust
software components.
39
Practice Questions
1. Why can’t we find all errors before we give the software to our
customers?
41
Thank You for Your Attention !
42