Se Unit2
Se Unit2
Software
Project
Manage
ment
Product Project
• Process:
A Software process describes the characteristics and organization of activities order to
produce software. Software process applied in a project to produce a product.
• Product:
A Product is a final outcomes of a project. It is produced with an effective Project
Management Process. The project manager must determine the requirements and
expected outcomes at the begin.
Contd…
People:
• The people involved in software project management are the key assets. People in a
project are those who are either involved in or are affected by the project.
• The following are the various categories of people involved in an effective software
project management.
Senior managers
Project managers
Programmers
Support Staff
Customers
End-users
Project Sponsors
Competitors
Suppliers
• What is Project Management?
• Software Projects frequently fail. Many Stakeholders, consultants, project managers and
practitioners have provide their experiences about the causes of project failures.
• However, following are some common factors that may lead to project failures.
Inability to clearly understand customer needs.
Lack of user involvement.
Unrealistic expectations.
Lack of top management support
Incomplete requirements and specifications
Lack of resources (Hardware, Software, People).
Lack of good planning.
Technical incompetence.
Lack of best practices
The chosen technology changes.
Lack of communication among team members.
Changes are managed poorly.
Changing business needs and requirements.
Keys to Project Success
• Project success must be the ultimate goal of project managers to fulfill the customer
needs.
• There are various factors that help in project success.
Strong support from the top management
A Sound methodology for the project.
User involvement in each activity
Experienced project manager
Clearly defined business goals
Clearly defined project scope.
Feedback mechanism
Sufficient resource allocation
Troubleshooting capabilities.
Project Planning
• From the figure it shows the order in which the planning activities are
undertaken.
• Based on the size estimation, the effort required to complete a project and
the duration over which the development is to be carried out are estimated.
• Based on the effort estimation, the cost of the project is computed. The
estimated cost forms the basis on which price negotiations with the
customer is carried out.
Effort Cost
Estimation Estimation
Size
Estimation
Duration Project
Scheduling
Estimation Staffing
difficulty a raises from the fact that large projects may take several years to complete.
As a result , during the span of the project, the project parameters scope of the project, project staff,
etc. Often change drastically resulting in the initial plans going haywire.
Planning a project over a number of stages protects managers from making big commitments at the
The project parameters are re-estimated periodically as understanding grows and also a periodically
• 3. Schedule:
a) Work Breakdown structure
b) Task Network Representation
c) Gantt Chart Representation
d) PERT Chart Representation
• 4. Project Resources:
a) People
b) Hardware and Software
c) Special Resources
Contd…
• 5. Staff Organization:
a) Team Structure
b) Management Reporting
a) Lines of Code(LOC)
d) Function points(FP)
Contd…
• Lines of Code (LOC):
• As the name suggests, LOC counts the total number of lines of
source code in project. The units of LOC are:
KLOC: Thousand lines of source code.
NLOC: Non comment lines of code.
KDSI: Thousands of delivered source instructions.
• The size is estimated by comparing it with existing systems of same
kind. The experts use it to predict the required size of various
components of software and then add them to get the total size.
Contd…
• Advantages:
a) Universally accepted and is used in many models like COCOMO.
b) Estimation is closer to developer’s perspective.
c) Simple to use.
• Disadvantages:
a) Different Programming languages contains different number of lines.
b) No proper industry standard exist for this technique.
c) It is difficult to estimate the size using this technique in early stages of
project.
Contd…
Number of Entities in ER diagram:
• ER Model provides a static view of the project. It describes the entities and
its relationships. The number of entities in ER model can be used to
measure the estimation of size of project. Number of entities depend on the
size of the project. This is because more entities needed more classes or
structures thus leading to more coding.
• Advantages:
Size estimation can be done during initial stages of planning.
Number of entities is independent of programming technologies used.
Contd…
• Disadvantages:
No fixed standard exist. Some entities
contribute more project size than others.
• Heuristic techniques assume that the relationships that exist among the
different project parameters can be satisfactorily modelled using suitable
mathematical expressions. Once the basic(independent) parameters are
known, the other(dependent) parameters can be easily determined by
substituting the values of the independent parameters in the corresponding
mathematical expression.
• Different heuristic estimation models can be divided into the following two
broad categories
a) Single Variable
b) Multivariable models.
Single Variable
• Single variable estimation models assume that various project characteristic can be
predicted based on a single previously estimated basic(independent) characteristic
of the software such as its size.
• A single variable estimation model assumes that the relationship between a
parameter to be estimated and the corresponding independent parameter can be
characterized by an expression of the following form:
• Estimated Parameter=𝐶1 ∗ 𝑒 𝑑1
• In the above expression, e represents a characteristic of the software that has
already been estimated(independent variable).Estimated Parameter is the dependent
Parameter(to be estimated) .
Contd…
• The dependent parameter to be estimated could be effort,
project duration, staff size, etc.., c1 and d1 are constants.
• The values of the constants c1 and d1 are usually
determined using collected from past projects(historical
data).
• The COCOMO Model discussed in coming slides and is an
example of single variable cost estimation model.
COCOMO
Semidetached:
• A development project can be classify to be of semidetached type, if the
development team consists of a mixture of experienced and inexperienced
staff. Team members may have limited experience on related systems but
may be unfamiliar with some aspects of the system being developed.
Embedded
• Correctness:
User review is used to ensure the correctness of requirements
stated in the SRS. SRS is said to be correct if it covers all the
requirements that are actually expected from the system.
• Completeness:
Completeness of SRS indicates every sense of completion including
the numbering of all the pages, resolving the to be determined
parts to as much extent as possible as well as covering all the
functional and non-functional requirements properly.
• Consistency:
Requirements in SRS are said to be consistent if there are no
conflicts between any set of requirements. Examples of conflict
include differences in terminologies used at separate places, logical
conflicts like time period of report generation, etc.
Contd..
• Unambiguousness:
A SRS is said to be unambiguous if all the requirements
stated have only 1 interpretation. Some of the ways to
prevent unambiguousness include the use of modelling
techniques like ER diagrams, proper reviews and buddy
checks, etc.
• Ranking for importance and stability:
There should a criterion to classify the requirements as
less or more important or more specifically as desirable
or essential. An identifier mark can be used with every
requirement to indicate its rank or stability.
Contd..
• Modifiability:
SRS should be made as modifiable as possible and should be capable of
easily accepting changes to the system to some extent. Modifications
should be properly indexed and cross-referenced.
• Verifiability:
A SRS is verifiable if there exists a specific technique to quantifiably
measure the extent to which every requirement is met by the system. For
example, a requirement starting that the system must be user-friendly is
not verifiable and listing such requirements should be avoided.
• Traceability:
One should be able to trace a requirement to design component and then
to code segment in the program. Similarly, one should be able to trace a
requirement to the corresponding test cases.
• Design Independence:
There should be an option to choose from multiple design alternatives for
the final system. More specifically, the SRS should not include any
implementation details.
Contd..
• Testability:
A SRS should be written in such a way that it is easy to
generate test cases and test plans from the document.
• Understandable by the customer:
An end user maybe an expert in his/her specific domain but
might not be an expert in computer science. Hence, the use
of formal notations and symbols should be avoided to as
much extent as possible. The language should be kept easy
and clear.
• Right level of abstraction:
If the SRS is written for the requirements phase, the details
should be explained explicitly. Whereas, for a feasibility
study, fewer details can be used. Hence, the level of
abstraction varies according to the purpose of the SRS.
Contd..
Attributes of bad SRS document
• Over specification.
• Forward references.
• Wishful thinking.
• Noise
Contd..
Important Categories of Customer Requirements
• Functional requirements.
• Non functional requirements.
– Design and implementation constraints.
– External interfaces required.
– Other non-functional requirements.
• Goals of implementation.
Organization
In order to form a good SRS, here you will see some points which can
be used and should be considered to form a structure of good SRS.
These are as follows :
1. Introduction
– (i) Purpose of this document
– (ii) Scope of this document
– (iii) Overview
2. General description
3. Functional Requirements
4. Interface Requirements
5. Performance Requirements
6. Design Constraints
7. Non-Functional Attributes
8. Preliminary Schedule and Budget
9. Appendices
Contd..
• Introduction :
– (i) Purpose of this Document –
At first, main aim of why this document is necessary and what’s
purpose of document is explained and described.
– (ii) Scope of this document –
In this, overall working and main objective of document and
what value it will provide to customer is described and
explained. It also includes a description of development cost
and time required.
– (iii) Overview –
In this, description of product is explained. It’s simply summary
or overall review of product.
Contd..
• General description :
In this, general functions of product which includes
objective of user, a user characteristic, features,
benefits, about why its importance is mentioned. It
also describes features of user community.
• Functional Requirements :
In this, possible outcome of software system which
includes effects due to operation of program is fully
explained. All functional requirements which may
include calculations, data processing, etc. are placed in
a ranked order.
Contd..
• Interface Requirements :
In this, software interfaces which mean how software program communicates with
each other or users either in form of any language, code, or message are fully
described and explained. Examples can be shared memory, data streams, etc.
• Performance Requirements :
In this, how a software system performs desired functions under specific condition
is explained. It also explains required time, required memory, maximum error rate,
etc.
• Design Constraints :
In this, constraints which simply means limitation or restriction are specified and
explained for design team. Examples may include use of a particular algorithm,
hardware and software limitations, etc.
Contd..
• Non-Functional Attributes :
In this, non-functional attributes are explained that are required by
software system for better performance. An example may include Security,
Portability, Reliability, Reusability, Application compatibility, Data integrity,
Scalability capacity, etc.
• Appendices :
In this, additional information like references from where information is
gathered, definitions of some specific terms, acronyms, abbreviations, etc.
are given and explained.
THANK YOU….