You are on page 1of 9

Issues in the Design of Large software

Anjali Singhal

Reg no.10801710

Roll no. C1801B40

ABSTRACT:- large software.I have also talked about main


features of a large software.
In this tem paper I have talked about the
design issue of a large software.In this I Index:-
have covered the difference model used for
making a software and after that I have 1. Introduction
specified which model is used for making a
2. Different models
large software or we can say developing a
2.1 Water Fall Model 4.2 Code freeze

2.2 Prototype Model 5. Issues in Developing Large


Software Systems
2.3 Incremental Lifecycle
model 6. Software Crisis

2.4 Spiral Model 7. Why Writing Large


Programs is Hard
3. Process Improvement Models
8. Reasons for failure
3.1 Capability Maturity
Model Integration 9. Conclusion

3.2 ISO 9000 10. References

4. Main Features of Large


Software
1.
4.1 Feature freeze

1.

2. Introduction We have four different model or more used


for developing a software they are as
When we try to design a software either follows
large or small we have to keep certain things
in mind and they are how reliable a software 2.1 Water fall model
is,is the functioning of software is same as
that we wanted or there is a bug we have to The water fall model is also know as the top
sort out.The programmer has to keep down model. It is highly structured physical
different crisis and risk in mind which may environments in which after-the-fact
come while developing the software.There changes are prohibitively costly, if not
are different model for developing a impossible. The main problem in water fall
software for a large software we use a model is that if we want to make any change
specific model because all other model have in our model we have to check it from the
problems in creating the software so we use top though we want to make any change in
a particular model to develop a software. middle but we have to start from the
begning.
3. Different Model
is done to check whether any error has
ocuured or not.

v. Delivery:-
The software is delivered to specific
customer.
STEP:-
2.2 Prototype Model:-
In this model we make a constant change in
our software until the customer is satisfied
with the project we make the constant
changes the way the customer requires.

Figure :- water fall model


Figure :- prototype model
i. Requirements:-
The model start from requirement gathering
In this we try to gather requirement i.e the and it move s ahead goes on for the
needs require to built our software.After all development of software as per the
our requirement is fulfilled we move to next customer satisfaction.The main falut in this
step. model is high costing and some time the
quality of software goes down.
ii. Design:-
Here we talk about the designing part.the 2.3 Incremental lifecycle model:-
design is divided into three parts Top level, In this model we goes on updating our
Detailed, Built from requirements. software from the basic level and move
forward doing the same.
iii. Implementation:-

Here we try to put our code to function our


software the way we want it to function.

iv. Testing code:-


This is done first by the developer and than
by the analyst who are behind the project i.e
people who are working for the project.This
Figure :- incremental life cycle
model Figure :- spiral model

In this model the Software Requirements are


well defined, but realization may be delayed STEPS:-
and The basic software functionality are The system requirements are defined in as
required early. much detail as possible. This usually
involves interviewing a number of users
2.4 Spiral model:-
representing all the external or internal users
The most important of all because it is used and other aspects of the existing system.
to develop the large software.It is the most
A preliminary design is created for the new
reliable model for developing large
system. This phase is the most important
software. The main advantage of this model
part of "Spiral Model". In this phase all
is that it combine advantages of top-down
possible alternatives, which can help in
and bottom-up concepts. Also known as the
developing a cost effective project are
spiral lifecycle model.
analyzed and strategies to use them are
The main structure of this model: decided. This phase has been added
specially in order to identify and resolve all
the possible risks in the project
development. If risks indicate any kind of
uncertainty in requirements, prototyping
may be used to proceed with the available
data and find out possible solution in order
to deal with the potential changes in the
requirements.
A first prototype of the new system is
constructed from the preliminary design.
This is usually a scaled-down system, and
represents an approximation of the
characteristics of the final product.

A second prototype is evolved by a fourfold


procedure:

1. Evaluating the first prototype in


terms of its strengths, weaknesses,
and risks.

2. Defining the requirements of the


second prototype.

3. Planning and designing the second


prototype.

4. Constructing and testing the second


prototype.

SO spiral model is most important of all the


model because it is like a circle and we Figure :- CMMI model
check the project after every circle is
The Capability Maturity Model Integration
completed so the chances of error is less so
(CMMI) is one of the leading models and
that’s why we use this model for large
based on best practice. Independent
program.
assessments grade organizations on how
well they follow their defined processes, not
on the quality of those processes or the
4. Process Improvement software produced. CMMI has replaced
Models: CMM.

3.1 Capability Maturity Model


Integration

3.2 ISO 9000


of new, untested source code or resources
and to interactions with other features; thus,
a feature freeze helps improve the program's
stability.

4.2. Code freeze:

A code freeze, in which no changes


whatsoever are permitted to a portion or the
entirety of the program's source code.
Particularly in large software systems, any
change to the source code may
have unintended consequences, potentially
introducing new bugs; thus, a code freeze
helps ensure that a portion of the program
that is known to work correctly will
continue to do so. Code freezes are often
employed in the final stages of
Figure :- ISO 9000 model development, when a particular release or
ISO 9000 describes standards for a formally iteration is being tested, but may also be
organized process to manufacture a product used to prevent changes to one portion of a
and the methods of managing and program while another is undergoing
monitoring progress. Although the standard development.
was originally created for the manufacturing
6. Issues in Developing Large
sector, ISO 9000 standards have been
applied to software development as well.
Software Systems:-
Like CMMI, certification with ISO 9000 1. The team members have to
does not guarantee the quality of the end communicateand interact with each
result, only that formalized business other A single software developer may
processes have been followed. not be able to do the job in the required
amount of time, developers have to
5. MAIN FEATURES OF
work as a team.
LARGE SOFTWARE:-
2. The team member has to
4.1. Feature freeze: communicate and interact with each
in which all work on adding new features is other.
suspended, shifting the effort towards 3. Specification of a large software
fixing bugs and improving the user product is more complicated than just
experience. The addition of new features saying write a program that sorts a set
may have a disruptive effect on other parts of integers.
of the program, due both to the introduction
4. For a large software project one has Examples:
to carefully think about the design of
the software before starting to write 1. Because of software related
problems in its automated baggage-
code.
handling system, opening of
5. A team of programmers have to Denver’s big, state-of-the art,
international airport was delayed
write different parts of the code that
almost a year in 1993
will work together
2. NASA’s Mars Climate Orbiter was
6. How do we make sure that the
lost in 1999 ,Cause: failed
software does what it is supposed to translation of English units to metric
do? units
7. What happens if we need to 3. NASA’s Mars Sojourner software
add a new feature to the software? deadlocked. Cause: Priority
inversion. Priority inversion occurs
7. Software Crisis: when a process that has higher
priority is waiting for a process for a
lower priority to release a lock.
However, since the process holding
Large Software Systems Often: Do not the lock has lower priority it does
provide the desired functionality, Take too not get scheduled and the system
long to build, Cost too much to build, deadlocks.
Require too much time, space, or other
resources to run, cannot evolve to meet 8. Why Writing Large
changing needs. Programs is Hard:

1. Customer’s needs are hard to


discover and record
Software’s Chronic Crisis: 2. Customer’s needs change
with time
3. The larger the system the
more potential interactions
Three-decades later (1994) an article in among components
Scientific American by W. Wayt Gibbs was 4. Several people must
Titled: “Software’s Chronic Crisis’’ cooperate communication
complexity among people
1. For every 6 large software projects can grow.
that become operational, 2 of them Challenge in large projects:
are cancelled
2. On the average software 1. Developing large/complex
development projects overshoot their software application is very
schedule by half challenging
3. 3 quarters of the large systems do not
provide required functionality (i) Effort intensive
(ii) High cost It is generally felt in our community, that
(iii) Long development time with each generation large detector,
(iv) Changing needs for users software is becoming a bigger and bigger
(v) High risk of failure, user acceptance, problem. If we extrapolate this trend to the
performance, maintainability SSC era, software would be a very big
problem indeed. Many people are inventing
2. Quite different from one-time or using new tools to attack the software
programs where author and user problem, but some of these tools are like
are same! aspirins, they alleviate some pain but don’t
cure the disease. We need to understand the
real causes of our current problems, before
we can find the real solutions.
9. Reasons for failure The intent of this paper is to discuss the
implications that the process of developing
a. Schedule slippage very large software or very large
information systems (VLIS) has on the
b. Cost over-runs
approach to the software engineering
c. Does not solve user’s problem. Although the same SE problems
problem are found in many domains, they take on a
unique set of constraints when considered in
d. Poor quality of software the context of developing VLIS. It is our
position that possibilities for enhancing the
e. Poor maintainability software development process are functions
f. Ad hoc software of the domain in which one participates.
development results in
such problems 11. REFRENCE:-
a) No planning of development Link:-
work (e.g. no milestones
defined) 1. http://en.wikipedia.org/wiki/Waterfal
l_model
b) Deliverables to user not
identified 2. http://en.wikipedia.org/wiki/Waterfal
c) Poor understanding of user l_model
requirements
3. http://www.softdevteam.com/Increm
d) No control or review ental-lifecycle.asp
e) Technical incompetence of 4. http://en.wikipedia.org/wiki/Spiral_
developers model
f) Poor understanding of cost
5. http://en.wikipedia.org/wiki/Project_
and effort by both developer
management_software
and user
Book:-
10.Conclusion
1. Pressman , software engineering A
practitioner’s approach

2. An integrated approach to software


engineering , 3rd edition by Pankaj
Jalote

You might also like