Beruflich Dokumente
Kultur Dokumente
01/21/16
Unit 1 Syllabus
Introduction to Software Engineering : The evolving role of
software, Changing Nature of Software, Software myths.
A Generic view of process : Software engineering- A layered
technology, a process framework.
Software process & process models: Linear sequential,
prototyping, RAD, Evolutionary Product & Process. Project
management concepts: People, Product, Process, Project.
W5HH principles, critical practice.
01/21/16
01/21/16
Software is defined as
1. Instructions
- Programs that when executed provide desired function
2. Data structures
-Enable the programs to sufficiently manipulate
information
3. Documents
-Describe the operation and use of the programs.
01/21/16
custom built
Failure rate
CHARACTERISTICS OF HARDWARE
Infant
mortality
Wear out
Time
CHARACTERISTICS OF SOFTWARE
Embedded software
-- resides in read-only memory
--is used to control products and systems for the consumer and
industrial markets.
01/21/16
10
Software Evolution
01/21/16
11
SOFTWARE MYTHS
Software Myths had a no of attributes that made
them dangerous; for instance, they appeared to
be reasonable statements of fact.
Widely held but false view
Propagate misinformation and confusion
Three types of myth
- Management myth
- Customer myth
- Practitioners myth
01/21/16
12
MANAGEMENT MYTHS
Myth(1)
-The available standards and procedures for software are
enough.
Myth(2)
- Each organization feel that they have state-of-art software
development tools since they have latest computer.
Myth(3)
- Adding more programmers when the work is behind
schedule can catch up.
Myth(4)
- Outsourcing the software project to third party, we can
relax and let that party build it.
01/21/16
13
CUSTOMER MYTH
Myth(1)
- General statement of objective is enough to begin
writing programs, the details can be filled in later.
Myth(2)
-Software is easy to change because software is
flexible
01/21/16
14
PRACTITIONERS MYTH
Myth(1)
-Once the program is written, the job has been done.
Myth(2)
-Until the program is running, there is no way of assessing
the quality.
Myth(3)
-The only deliverable work product is the working program
Myth(4)
-Software Engineering creates huge and unnecessary
documentation and consistently slows down software
development.
01/21/16
15
16
17
A PROCESS FRAMEWORK
Establishes the foundation for a complete
software process
Identifies a number of framework activities
applicable to all software projects
Also include a set of umbrella activities that
are applicable across the entire software
process.
01/21/16
18
A PROCESS FRAMEWORK
Common process framework
Framework activities
TTTasks
Milestones
SQA points
Umbrella activities
01/21/16
19
A PROCESS FRAMEWORK
Used as a basis for the description of
process models
Generic process activities
Communication
Planning
Modeling
Construction
Deployment
01/21/16
20
A PROCESS FRAMEWORK
Generic view of engineering complimented
by a number of umbrella activities.
01/21/16
The linear sequential model, sometimes called the classic life cycle or
the waterfall model, suggests a systematic, sequential approach
to software development that begins at the system level and
progresses through communication, planning, modeling, construction
and deployment. The following figure shows the linear sequential
model for software engineering.
01/21/16
22
i) Communication
23
24
01/21/16
25
01/21/16
26
27
Increment # n
Communication
Planning
Modeling
Analysis
design
Construction
Code
test
Deployment
Delivery
Support
feedback
delivery of
nth increment
Increment#2
Communication
Planning
Modeling
Construction
Analysis
design
Increment # 1
Code
test
Deployment
Delivery
Support
feedback
Delivery of
2nd increment
Communication
Planning
Modeling
Analysis
design
Construction
Code
test
Deployment
Delivery
Support
feedback
delivery of
1ST increment
28
29
01/21/16
30
01/21/16
31
32
01/21/16
33
34
35
36
01/21/16
37
Incomplete requirement
Unrealistic deadline
Technical difficulties
01/21/16
38
Management Spectrum
Effective project management focuses on four aspects of the
project known as the 4 Ps:
People -
Product -
Process -
Project -
01/21/16
39
People
Player of the project:
40
Stakeholders (Players)
Senior managers
Practitioners
Customers
End-users
01/21/16
41
Team Leaders
MOI model for leadership
Motivation
Organization
Ideas or Innovation.
42
Software Teams
How to lead?
How to organize?
How to collaborate?
How to motivate?
01/21/16
Software Teams
The following factors must be considered when selecting a
software project team structure ...
The difficulty of the problem to be solved
The size of the resultant program(s) in lines of code or function
points
The time that the team will stay together (team lifetime)
The degree to which the problem can be modularized
The required quality and reliability of the system to be built
The firmness of the delivery date
The degree of communication required for the project
01/21/16
44
Organizational Paradigms
Closed paradigm structures a team along a traditional
01/21/16
45
Alert Team
01/21/16
46
47
48
49
01/21/16
The Product
Software Scope:
Context How does the software to be built fit into a
larger system, product, or business context and
what constraints are imposed as a result of the
context?
Information objectives What customer-visible data
objects are produced as output from the software?
What data objects are required for input?
Function and performance What function does the
software perform to transform input data into
output?
Are
any
special
performance
characteristics to be addressed?
Software project scope must be definite and
understandable at the management and technical levels.
01/21/16
50
Problem Decomposition
Sometimes
called
partitioning
or
problem
explanation
Decomposition is applied in 2 major areas
Functionality that must be delivered.
Process that will be used to deliver it.
Once scope is defined
It is decomposed into basic functions
It is decomposed into user-visible data objects
or
It is decomposed into a set of problem classes
51
The Process
Process model chosen must be appropriate for the:
Customers and developers,
Characteristics of the product, and
Project development environment
Once a process framework has been established
Consider project characteristics
Determine the degree of carefulness required
Define a task set for each software engineering
activity
Task set =
Software engineering tasks
Work products
Quality assurance points
52
Milestones
01/21/16
53
01/21/16
54
Process decomposition
Process decomposition begins when the project
manager try to determine how to accomplish
each activity.
E.g. A small, relatively simple project might require
the following work tasks for the communication
activity:
1. Develop list of clarification issues.
2. Meet the customer to address clarification issues.
3. Jointly develop a statement of scope.
4. Review the
concerned.
statement
of
scope
with
all
55
The Project
Projects get into risk when
Software people dont understand their customers
needs.
The product scope is poorly defined.
Changes are managed poorly.
The chosen technology changes.
Business needs change.
Deadlines are unrealistic.
Users are opposing.
Sponsorship is lost [or was never properly
obtained].
The project team lacks people with appropriate
skills.
Managers [and practitioners] avoid best practice
and lessons learned.
01/21/16
56
W5HH Approach
This Approach addresses project objectives, milestones and
schedules,
responsibilities,
management
and
technical
approaches, and required resources.
01/21/16