Académique Documents
Professionnel Documents
Culture Documents
User
Stories
Release
Planning
Iteration
Acceptance
Test
Small
Release
We will now briefly discuss the development process of XP which is by and large
a very good representation of a typical agile process.
frequent, small deliveries are preferred. The user stories are also used to
create the acceptance tests. Each incremental delivery has to pass the
acceptance test before final delivery to the customer.
Delphi model: The Delphi model is based on the soft skills like collecting
information during a group discussion. This model follows a systematic
and interactive forecasting method and depends on a panel of experts. A
structured group of experts provide a more accurate solution when
compared to an unstructured group. The interaction is similar to face-to
face interviews/meetings. Hence, it is widely used for business
forecasting.
Every assumption made in the model (e.g. "the project will enjoy good
management")
Every definition (e.g. the precise definition of the Product Design phase of
a project)
Because COCOMO is well defined, and because it doesn't rely upon proprietary
estimation algorithms, Costar offers these advantages to its users:
to the exclusion of the functional and behavioral (control) dimensions. For this
reason, the function point measure was inadequate for many engineering and
embedded systems (which emphasize function and control). A number of
extensions to the basic function point measure have been proposed to remedy
this situation
b. How do you calculate function points?
We will now briefly discuss about two segments of system specification review
shown in Figure.
Does the functional complexity of the system agree with the assessments
of development risk, cost and schedule?
Is the allocation of functions defined with the required details?
Have interfaces among system elements and also with the environment
been defined in sufficient detail?
Are performance, reliability and maintainability issues addressed in the
specification?
Does the system specification provide sufficient foundation for the
hardware and software engineering steps that follow?
When the system specification review is completed, other parallel path tasks
start. Thus, the various elements of system engineering such as software,
hardware, database elements and human elements are considered in the
technical evaluation review.
Q5. Explain the 12-step program design process of software
engineering that is followed to get the organizations back on track.
Stellar software design process As we are studying the design process of
software engineering, let us now study the 12-step program that is followed to
get the organisations back on track, that is, to make them understand why their
software didnt perform as expected or why the users make errors unexpectedly:
1. Admit that there is a problem This is the first step in stellar software design
process. This step talks about the program. It is not always possible to develop
good usability program. It is preferable to carry out informal customer interviews
and to team up with technical support staff. The designer should always think
like the user.
2. Believe in a power greater than the designers power This is the second step
of the design process. This step is used to find out the end-users the people
who will use the final product. Sometimes, it so happens that the actual endusers do not turn out to be from a particular group for whom the design was
originally developed.
3. A decision to be made to identify good design This is the third step of the
stellar software design process. This step talks about the design. Design is not
just what it looks like and feels like; design is how it works.
4. To search and invent users experience shortcomings This is the fourth step
in the stellar software design process. This step talks about how the design can
be explained. We can use illustrations to explain the design.
5. Admit to someone else (other than designers) the nature of problems This is
the fifth step of the design process. This step talks about how the designer
should think. The designers should talk as an equal to users more than getting
feedbacks from the users. This helps to sort out many issues.
6. To be ready to solve defects of character This is the sixth step of the design
process. This step specifies how a system should be developed. We will need to
develop the system in such a way that it can accept changes without affecting
the rest of the system.
7. Take help This is the seventh step of the design process. This step talks
about how designers should take help. It is always preferable to ask for help from
related people or other sources. There is no rule that one has to only listen to the
feedback given after reviewing. The developers can take an extra step by their
own.
8. Prepare a list of all the users who have been affected and then their lives can
be made better This is the eighth step of the design process. This step specifies
how to handle the issues. We can take this step to scale from functional to
reliable, then from usable to convenient and finally agreeable to meaningful. The
developer should be able to assess where he has failed. This step is extremely
difficult.
9. Make direct damages This is the ninth step of the design process. This step
talks about how a designer should act when sufficient feedback is not obtained.
It is difficult to get feedback from users. If unable to deliver an improvement, it is
better to prepare for the worst. Always make failures consciously and undertake
testing.
10. Continue the inventory This is the tenth step of the design process. This
step talks about the prior tasks of design. Usability testing is not a one-time
event but it is a cycle. Always observe, analyse and then design.
11. Realise that without users, it does not matter This is the 11th step of the
design process. This step specifies how the attitude of developers should be.
Usability testing is not only important for users but also equally important for the
developers, as it is continuously improved by developers.
12. Pay it forward This is the 12th step of the design process. A number of
resources are present in the software community for offer various courses that
can be learned.
Q6 a. Elaborate on Capability Maturity Model components.
The Capability Maturity Model defined by the Software Engineering Institute (SEI)
for Software describes the principles and practices to achieve a certain level of
software process maturity. The model is intended to help software organizations
improve the maturity of their software processes in terms of an evolutionary path
from ad hoc, chaotic processes to mature, disciplined software processes. The
CMM is designed towards organizations.
Components of CMM
We can use a maturity model as a standard for assessment and as an aid to
analyse the maturity software process. For example, for relative assessment of
different organisations, where there is some commonality, the model can be
utilized as a base for comparison. Like other models, CMM also has some
components, which include the following.
Maturity levels We can define maturity levels as well-defined levels, which
help in achieving a mature software process.1 The five maturity levels provide
the top-level structure of the CMM. In this structure, the uppermost (5th) level is
a theoretical ideal state where the processes are methodically managed by an
arrangement of process optimization and non-stop process improvement.
Process capability It refers to a variety of expected results that can be
attained by implementing software process. It provides a means to foresee the
possible results to be expected from the next software project that the
organization undertakes.
Key Process Areas (KPAs) This is an important component of CMM. We can
define KPA as a cluster of related activities that, when performed collectively,
aids to attain a set of goals considered to establish process capability at the
maturity level.
Goals This component of CMM recapitulates the key practices of a KPA and
determines whether an organization or project has effectively implemented it or
not. The goal signifies the scope and purpose of all the KPAs.
Commitment to perform
Ability to perform
Activities performed
Measurement and analysis
Verifying implementation
b. Define Quality control and Cost of quality with the types of cost.
Quality Control (QC) we can define the concept of QC as a set of activities,
namely, inspection of the software product, review and testing the software
product that is used throughout the software process. The main focus of QC is on
the techniques that are operational, and on the activities that are used to meet
and check the quality requirements. Implementation of QC needs procedures,
practices and resources, which comprises the following:
A training program.
Policies and standards.
Review and audit procedure.
Dedicated and trained employees.
A program for measurement.
A process for planning.
Effective techniques and tools for testing
Cost of quality- We can define this quality concept as the total cost incurred in
maintaining the quality of a product that meets the customers requirements.
Cost of quality includes three types of costs:
Costs of prevention We can define these costs as the total cost of activities that
are undertaken for preventing bad quality. Examples are costs of surveys for
analysing supplier capabilities, costs incurred in making quality plans, and so on.
Costs of appraisal We can define these costs as the sum of costs that are
related to the measurement, evaluation or trial of products or services for
assuring conformance to the standards of quality and the requirements for
good performance. Examples are costs of in-process or final testing, costs
incurred in the audits process, and so on.
Costs of failure We can define such costs as the aggregate costs that
result from those products or services that do not conform to the needs of
the customer. These costs may occur either before the delivery of the
product or service, or after the delivery of product or service. Examples
are costs of rework, costs of warranty claims, and so on.