Dfp5043 Chapter 3 A

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 17

CHAPTER 3 (A)

SOFTWARE MANAGEMENT AND


DEVELOPMENT

DFP5043
Software Requirement & Design
3.1
Software Management Process

3.1.1 Importance of software management


• Deliver the software to the customer at
the agreed time.
• Keep overall costs within budget.
• Deliver software that meets the
customer’s expectations.
• Maintain a happy and well-functioning
development team.
3.1
Software Management Process

3.1.2 Project planning process


3.1
Software Management Process
3.1.3 Four risk management process
a) Risk identification
• Technology risks
Risks that derive from the software or hardware
technologies that are used to develop the system.
• People risks
Risks that are associated with the people in the
development team.
• Organizational risks
Risks that derive from the organizational environment
where the software is being developed.
3.1
Software Management Process
• Tools risks
Risks that derive from the software tools and
other support software used to develop the
system.
• Requirements risks
Risks that derive from changes to the customer
requirements and the process of managing the
requirements change.
• Estimation risks
Risks that derive from the management
estimates of there sources required to build the
system.
3.1
Software Management Process

b) Risk analysis
You have to consider each identified risk and
make a judgment about the probability and
seriousness of that risk. For example:
• The probability of the risk might be assessed as
very low ( 10%), low (10–25%), moderate (25–
50%), high (50–75%), or very high ( 75%).
• The effects of the risk might be assessed as
catastrophic (threaten the survival of the
project), serious (would cause major delays),
tolerable (delays are within allowed
contingency), or insignificant.
3.1
Software Management Process

c) Risk planning
You have to think of actions that you might
take to minimize the disruption to the project
if the problem identified in the risk occurs. For
example:
• Avoidance strategies
Following these strategies means that the
probability that the risk will arise will be
reduced. An example of a risk avoidance
strategy is the strategy for dealing with
defective components shown in Figure 22.5.
3.1
Software Management Process

• Minimization strategies
Following these strategies means that the
impact of the risk will be reduced. An example
of a risk minimization strategy is the strategy
for staff illness shown in Figure 22.5.
• Contingency plans
Following these strategies means that you are
prepared for the worst and have a strategy in
place to deal with it. An example of a
contingency strategy is the strategy for
organizational financial problems that I have
shown in Figure 22.5.
3.1
Software Management Process

Figure 22.5
3.1
Software Management Process

d) Risk monitoring
Risk monitoring is the process of checking that
your assumptions about the product, process,
and business risks have not changed. You should
regularly assess each of the identified risks to
decide whether or not that risk is becoming
more or less probable. You should also think
about whether or not the effects of the risk
have changed. To do this, you have to look at
other factors, such as the number of
requirements change requests, which give you
clues about the risk probability and its effects.
3.1
Software Management Process

Risk Monitoring Table


3.1
Software Management Process

3.1.4 Importance of managing people


• To satisfy social needs
You need to give people time to meet their
co-workers and provide places for them to
meet. This is relatively easy when all of the
members of a development team work in the
same place but, increasingly, team members
are not located in the same building or even
the same town or state. They may work for
different organizations or from home most of
the time.
3.1
Software Management Process

• To satisfy esteem needs


You need to show people that they are valued by the
organization. Public recognition of achievements is a
simple yet effective way of doing this. Obviously,
people must also feel that they are paid at a level
that reflects their skills and experience.
• To satisfy self-realization needs
You need to give people responsibility for their work,
assign them demanding (but not impossible) tasks,
and provide a training programme where people can
develop their skills. Training is an important
motivating influence as people like to gain new
knowledge and learn new skills.
3.1
Software Management Process

3.1.5 Impact of good planning and scheduling


• Establish and maintain an organizational policy for
planning and performing the project planning
process.
• Provide adequate resources for performing the
project management process, developing the work
products, and providing the services of the process.
• Monitor and control the project planning process
against the plan and take appropriate corrective
action.
• Review the activities, status, and results of the
project planning process with high-level
management, and resolve any issues.
3.2
System Development Models

3.2.1 Software development models


• Create the new logic for problem solving based on
open-ended programming environments for high
performance computer systems
• Develop a formal methodology that guides us toward
the construction of correct and portable
parallel programs
• Design a programming language that incorporates a
unifying intuitive model of parallel computation, and
which provides a coherent vehicle for the natural
description of parallel programs
• Construct software tools that resonate with the
methodology and facilitate a flexible, supportive
environment
3.2
System Development Models

3.2.2 Types of models


a) Context Model
b) Interaction Model
c) Structural Model

3.2.3 Elaboration of suitable model


3.2
System Development Models

Refer to the next slide

You might also like