Software Engineering Unit 2
Software Engineering Unit 2
• The model which we are trying to build may be or may not be ready.
• A good software design is seldom arrived by using a single step procedure but
rather through several iterations through a series of steps.
• If the outputs of design phase are in formal notation form, then their
associated tools for verification should be used otherwise a thorough
design review can be used for verification and validation.
• Function oriented design works well where the system state does not
matter and program/functions work on input rather than on a state.
• The bottom up design model starts with most specific and basic
components.
• It proceeds with composing higher level of components by using basic
or lower level components.
• It keeps creating higher level components until the desired system is
not evolved as one single component.
• With each higher level, the amount of abstraction is increased.
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 109
• Software project planning
• The important project parameters that are estimated include: project size, effort
required to develop the software, project duration, and cost.
• Two popular empirical estimation techniques are: Expert judgment technique and
Delphi cost estimation.
Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 135
Expert judgment technique Expert judgment
technique
• Experts divide a software product into component units:
• e.g. GUI, database module, data communication module, billing module, etc.
• Different heuristic estimation models can be divided into the following two classes:
• Single variable estimation model: It provide a means to estimate the desired characteristics of a
problem, using some previously estimated basic (independent) characteristic of the software product
such as its size. A single variable estimation model takes the following form:
Estimated Parameter = c1 * ed1
• multivariable cost estimation model: takes the following form: Multivariable estimation models are
expected to give more accurate estimates compared to the single variable models, since a project
parameter is typically influenced by several independent parameters.
Estimated Resource = c1*e1d1 + c2*e2d2 + ...
139
University Institute of Engineering
DEPARTMENT OF COMPUTER SCIENCE &
ENGINEERING
Subject Name: Software Engineering
Subject Code: 23CST-206
Software Project Management
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 140
COCOMO Model
• Boehm proposed COCOMO (Constructive Cost Estimation Model) in
1981.
• COCOMO is one of the most generally used software estimation
models in the world.
• COCOMO predicts the efforts and schedule of a software product
based on the size of the software.
• Cocomo (Constructive Cost Model) is a regression model based on
LOC, i.e number of Lines of Code.
• The above formula is used for the cost estimation of for the basic
COCOMO model, and also is used in the subsequent models.
Hence E=3.0(200)1.12=1133.12PM
D=2.5(1133.12)0.35=29.3PM
P = 176 LOC/PM
• https://www.geeksforgeeks.org/software-engineering-cocomo-
model/
• https://www.javatpoint.com/cocomo-model
• https://www.educba.com/cocomo-model/
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 167
• Project scheduling
• Global Perspective: In this, we review the bigger system description, design, and
implementation. We look at the chance and the impact the risk is going to have.
• Take a forward-looking view: Consider the threat which may appear in the future
and create future plans for directing the next events.
• Open Communication: This is to allow the free flow of communications between
the client and the team members so that they have certainty about the risks.
• Integrated management: In this method risk management is made an integral
part of project management.
• Continuous process: In this phase, the risks are tracked continuously throughout
the risk management paradigm.
• It is the process of managing risks to achieve desired outcomes. After all, the
identified risks of a plan are determined; the project must be made to include the
most harmful and the most likely risks. Different risks need different containment
methods. In fact, most risks need ingenuity on the part of the project manager in
tackling the risk.
• There are three main methods to plan for risk management:
• Avoid the risk: This may take several ways such as discussing with the client to
change the requirements to decrease the scope of the work, giving incentives to
the engineers to avoid the risk of human resources turnover, etc.
• Transfer the risk: This method involves getting the risky element developed by a
third party, buying insurance cover, etc.
• Risk reduction: This means planning method to include the loss due to risk. For
instance, if there is a risk that some key personnel might leave, new recruitment
can be planned.
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 194
Chapter-4
Software Project Management
• Software quality and management
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 214
Chapter-4
Software Project Management
215
Software Configuration Management
• When we develop software, the product (software) undergoes many
changes in their maintenance phase; we need to handle these changes
effectively.
• Several individuals (programs) works together to achieve these
common goals. This individual produces several work product (SC
Items) e.g., Intermediate version of modules or test data used during
debugging, parts of the final product.
• The elements that comprise all information produced as a part of the
software process are collectively called a software configuration.
Different tools are available in market for SCM like: CFEngine, Bcfg2
server, Vagrant, SmartFrog, CLEAR CASETOOL (CC), SaltStack,
CLEAR QUEST TOOL, Puppet, SVN- Subversion, Perforce,
TortoiseSVN, IBM Rational team concert, IBM Configuration
management version management, Razor, Ansible, etc.
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 233
Chapter-4
User Interface Design
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 250
Chapter-4
User Interface Design
09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 267
User Interface Design
• User Interface Design Activities