Software Project Management: - Srini
Software Project Management: - Srini
Software Project Management: - Srini
Management
-Srini
Objectives
Exercise - 1
Existing problems
What
Understanding problem
Recording requirements in a disorganized
fashion
Little time spent on verification
Change not handled properly
Not able to establish a strong foundation
for development
Requirements
What
Requirements Key
factors
Involve
experts
Document every aspect
Definition of clear boundary and
scope is essential
Do not rely on one source of
information
Understand the problem and its
underlying issues unambiguously
Requirements Engineering
helps
Requirements Engineering
The
Types of Requirements
User requirements
Statements in natural language plus diagrams of the
services the system provides and its operational
constraints. Written for the customers.
System requirements
A structured document setting out detailed
descriptions of
the systems functions, services and operational
constraints. Defines what should be implemented so
may
be part of a contract between client and contractor.
User requirement
System requirement
More
Functional requirements
Describe functionality or system services.
Depend on the type of software,
expected users and the type of system
where the software is used.
Functional user requirements may be
high-level
statements of what the system should do
but
functional system requirements should
describe the system services in detail.
requirement
Organization
External
requirement
requirement
Domain requirements
Derived
If
Requirements Engineering
Tasks
Requirements
Requirements
Requirements
Requirements
Requirements
Requirements
Requirements
-
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Management
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Inception Task
Requirements Elicitation
Fact
-
Finding
Information
-
Information
-
gathering
integration
Requirements Elicitation
-
Requirements Elicitation
Problems of scope
-
Requirements Elicitation
Problems of understanding
-
Requirements Elicitation
Problems of change
-
Requirements Elicitation
Elicitation
may be accomplished by
deployment is used to
determine the value of each function
that is required for the system
Information deployment identifies both
data objects and events that the
system must consume and produce
Task deployment examines the
behaviour of the system or the product
within the context of the environment
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Requirements Elaboration
Elaboration Task
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Negotiation Task
Requirements
Specification
Requirements Specification
Requirements documents should be
- unambiguous
- complete
- verifiable
- consistent
- modifiable
- traceable
- prioritized
- usable
Requirements Documentation
Typical contents of SRS / RS
- Overall Description
- Assumptions, constraints and
dependencies
- System requirements
Functionality
- Performance
- Usability
- Reliability
- Availability
- Interfaces
-
- Portability
- Documentation
- Licensing
Requirements Documentation
Typical contents of Use case description
- Use Case Diagram
- Brief description of Use Case
- Pre-condition
- Basic flow of events
- Alternate flow of events
- Post Conditions
- Extension Points
- Special requirements with regard to
-
Performance
Usability
Specification Task
Requirements
Requirements traceability
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Requirements Validation
Reviews
Requirements Validation
-
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Requirements Management
Goals
Techniques
Project Activities
Prototyping
The
Throwaway
Evolutionary
Software Engineering
practice
What
Software Engineering
Contains
a collection of concepts,
principles, methods and tools that is
used by development team
Transforms a haphazard unfocused
approach into something that is more
organized, effective and more likely to
achieve success
Problem solving
Understand