Software Engineering Notes Unit-5
Software Engineering Notes Unit-5
What is Project?
A project is a group of tasks that need to complete to reach a
clear result. A project also defines as a set of inputs and outputs
which are required to achieve a goal. Projects can vary from
simple to difficult and can be operated by one person or a
hundred.
1. Time
2. Cost
3. Quality
Project Manager
A project manager is a character who has the overall
responsibility for the planning, design, execution, monitoring,
controlling and closure of a project.
Role of a Project Manager:
1. Leader
2. Medium
3. Mentor
Activities
Software Project Management consists of many activities, that
includes planning of the project, deciding the scope of product,
estimation of cost in different terms, scheduling of tasks, etc.
o Identification
o Baseline
o Change Control
o Configuration Status Accounting
o Configuration Audits and Reviews
Project Management Tools
1. Gantt chart
Gantt charts are primarily used to allocate resources to activities.
The funds allocated to activities include staff, hardware, and
software. Gantt charts are useful for resource planning. A Gantt
chart is a particular type of bar chart where each bar represents
an activity. The bars are drawn along a timeline:
2.PERT chart
PERT (Project Evaluation and Review Technique) charts contain a
network of boxes and arrows. The boxes show activities, and the
arrows represent function dependencies. PERT chart represents
the numerical variations in the plan estimates assuming a normal
distribution
Logic Network
The Logic Network shows the order of activities over time. It
shows the sequence in which activities are to do.
the project are the two primary uses. Moreover, it will help with
understanding task dependencies, a timescale, and overall
project workflow.
Software Maintenance
Software maintenance is a part of the Software Development Life
Cycle. Its primary goal is to modify and update software
application after delivery to correct errors and to improve
performance. Software is a model of the real world. When the
real world changes, the software require alteration wherever
possible.
o Correct errors
o Change in user requirement with time
o Changing hardware/software requirements
o To improve system efficiency
o To optimize the code to run faster
o To modify the components
o To reduce any unwanted side effects.
1. Corrective Maintenance
Corrective maintenance aims to correct any remaining errors
regardless of where they may cause specifications, design,
coding, testing, and documentation, etc.
2. Adaptive Maintenance
It contains modifying the software to match changes in the ever-
changing environment.
3. Preventive Maintenance
It is the process by which we prevent our system from being
obsolete. It involves the concept of reengineering & reverse
engineering in which an old system with old technology is re-
engineered using new technology. This maintenance prevents the
system from dying out.
4. Perfective Maintenance
It defines improving processing efficiency or performance or
restricting the software to enhance changeability. This may
contain enhancement of existing system functionality,
improvement in computational efficiency, etc.
Causes of Software Maintenance
Problems
→Lack of Traceability
o Codes are rarely traceable to the requirements and design
specifications.
o It makes it very difficult for a programmer to detect and
correct a critical defect affecting customer operations.
o Life Cycle documents are not always produced even as part
of a development project.
1.Program Understanding
3.Ripple Effect
5.Maintainability
.
Software Maintenance Cost Factors
There are two types of cost factors involved in software
maintenance.
These are
o Non-Technical Factors
o Technical Factors
Non-Technical Factors
Technical Factors
Technical Factors include the following: