UNIT 4
Software Project Management
Solution: Project planning process includes a set of interrelated activities followed in an orderly manner to implement user requirements in software. project planning process comprises of the following:
• Techniques used to perform project planning.
• Objectives and scope of the project.
• Effort (in time) of individuals involved in project.
• Project schedule and milestones.
• Resources required for the project.
• Risks associated with the project.
Project planning process comprises of several activities, which are essential for carrying out a project systematically. These activities refer to the series of tasks, which are performed over a period of time for developing the software. These activities include estimation of time, effort and resources required, and risks associated with the project.
2. Define Software Measurement and Metrics
Solution: Software measurement is used to assess the quality of the engineered product or system for better understanding , with an intention to improve the software process on a continuous basis. Measurement helps in estimation, quality control, productivity assessment, and project control throughout a software project. Also,
measurement is used by software engineers to gain insight into the design and development of the work products.
Software measurements are of two categories namely,
Direct measures include software processes like cost and effort applied and product like lines of code produced, execution speed, and other defects that have been reported.
Indirect measures include products like functionality, quality, complexity, reliability, maintainability,
software measurement is a management tool, which conducted in a set of five activities, listed below:
• Formulation: Performs measurement and develops appropriate metrics for software under consideration.
• Collection: Collects data to derive the formulated metrics.
• Analysis: Calculates metrics and use mathematical tools.
• Interpretation: Analyses the metrics to attain insight into the quality of representation.
• Feedback: Communicates recommendation derived from product metrics to the
software team.
Software Metric is “a quantitative measure of the degree to which a system, component, or process possesses a given attribute.” The goal of software metrics is to identify and control essential parameters that affect software development. The other objectives of using software metrics
• Measure the size of the software quantitatively.
• Assess the level of complexity involved.
• Assess the strength of the module by measuring coupling.
• Assess the testing techniques.
• Specify when to stop testing.
• Determine the date of release of the software.
• Estimate cost of resources and project schedule.
these objectives are accomplished by software metrics when applied to different projects for a long period of time to obtain indicators. Software metrics help project managers to gain an insight into the efficacy of the software process, project, and product. This is possible by collecting quality and productivity data and then analysing and comparing these data with past averages in order to know whether quality improvements have occurred or not.Also, when metrics are applied in a consistent manner, it helps in project planning and project management activity. For example, schedule based resource allocation can be effectively enhanced with the help of metrics.
3. Write a short note on LOC
Disadvantages
4. Write a short note on Function point metric
Solution: Function point metric is used to measure the functionality delivered by the system. It help in estimating effort required to design, code and test software, predict the number of errors, and forecast the number of components used in the system.
Function point is derived using an empirical relationship, which is based on the measure of software information domain value and software complexity. Software complexity can be classified in terms of simple, average, and complex levels. Information domain value can be defined as a combination of all the points listed below:
• Number of external inputs (EI): Users and other applications act as a source of
external inputs and provide distinct application oriented data or information.
• Number of external outputs (EO): Each external output provided by the application provides information to the user. External outputs refer to reports, screens, error message, and so on. Individual data items in reports or screens are not counted separately.
• Number of external inquires (EQ): External inquires are defined as online input that helps to generate immediate response in the form of online output. Here, each distinct inquiry is counted separately.
• Number of internal logical files (ILF): Logical grouping of data that resides within the application boundary, such as master file as a part of database, is known as internal logical files. These files are maintained through external inputs.
• Number of external interface files (EIF): Logical grouping of data that resides external to the application, such as data files on tape or disk, is known as external interface file. External interface files provide data, which can be used by the application.
Organization using FP method develops criteria, which helps in determining whether a particular entry is simple, average, or complex. A weighting factor in terms of numeric value is assigned for each level of complexity
5. What are different Project Size estimation Metrics?
Solution: Software metrics can be defined as “The continuous application of measurement based techniques to the software development process and its products to supply meaningful and timely management information, together with the use of those techniques to improve that process and its products”
Categories of Metrics
i Product metrics: describe the characteristics of the product such as size, complexity, design features, performance, efficiency, reliability, portability, etc
ii Process metrics: describe the effectiveness and quality of the processes that produce the software product Examples are:
• effort required in the process • time to produce the product
• effectiveness of defect removal during development • number of defects found during testing
• maturity of the process
iii) Project metrics: describe the project characteristics and execution Examples are :
• number of software developers
• staffing pattern over the life cycle of the software
• cost and schedule
• productivity
size Oriented Metrics
a) LOC Metrics
b) Halstead's Software Metrics
c) Functional Point (FP) Analysis
6. Write short notes on following:
Solution:
Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981 to predict the efforts and schedule of a software product based on the size of the software.projects are categorized into three types:
Organic: A project is organic type, if the project deals with developing a well-understood application program, the size of the development team is reasonably small, and the team members are experienced in developing similar methods of projects. Examples: simple business systems, inventory management systems, and data processing systems.
Semidetached: A project is semidetached type if the development consists of a mixture of experienced and inexperienced staff. Team members may be unfamiliar with some aspects of the order being developed. Example: a new operating system (OS), a Database Management System (DBMS
Embedded: A project is embedded type, if the software being developed is strongly coupled to complex hardware.Example: ATM, Air Traffic control.
Boehm’s software cost estimation can be done through three stages:
1. Basic COCOMO Model: The basic COCOMO model provide an accurate size of the project parameters.
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Where
KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
a1,a2,b1,b2 are constants for each group of software products,
Tdev is the estimated time to develop the software, expressed in months,
Effort is the total effort required to develop the software product, expressed in person months (PMs).
Estimation of development effort
For the three classes of software products, the formulas for estimating the effort based on the code size are shown below:
Organic: Effort = 2.4(KLOC) 1.05 PM
Semi-detached: Effort = 3.0(KLOC) 1.12 PM
Embedded: Effort = 3.6(KLOC) 1.20 PM
Estimation of development time
For the three classes of software products, the formulas for estimating the development time based on the effort are given below:
Organic: Tdev = 2.5(Effort) 0.38 Months
Semi-detached: Tdev = 2.5(Effort) 0.35 Months
Embedded: Tdev = 2.5(Effort) 0.32 Month
B. Risk Management.
Solution: Risks are involved in every phase of software development therefore, risks involved in a software project should be defined and analysed, and the impact of risks on the project costs should also be determined.
A software project is prone to a huge variety of risks. To enhance the adaptability of a software project, it is essential to assess, identify and classify risks into different classes. There are three main classifications of risks which can affect a software project:
Risk Management Activities
Risk Identification
The risk in the project should be identified as early as possible so that the impact of risk can be reduced effectively by risk management planning.There are different types of risks which can affect a software project:
Risk Analysis
risk analysis process, analyses the probability of identified risk whether it is serious or a loose estimation.
Risk Control
It is the process of managing risks to achieve desired outcomes
There are three main methods to plan for risk management:
C. Staffing Level Estimation
Solution: The staffing plan / Level Estimation determines the number of individuals required for a project. It includes selecting and assigning tasks to the project management team members. Staffing plan provides information about appropriate skills required to perform the task to produce the project deliverables and manage the project. In addition, this plan provides information of resources, such as tools, equipment, and processes used by the project management team.
Staff planning is done by a staff planner, who is responsible for determining the individuals available for the project.
The responsibilities of a staff planner are listed below: