Você está na página 1de 4

Aim: To Study Software Development Life Cycle(SDLC)

Theory:
Software Engineering(SE):
The computer science discipline concerned with developing large applications. Software
engineering covers not only the technical aspects of building software systems, but also
management issues, such as directing programming teams, scheduling, and budgeting.
Typical formal definitions of software engineering are:
"the application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software".
"an engineering discipline that is concerned with all aspects of software production"
"the establishment and use of sound engineering principles in order to economically
obtain software that is reliable and works efficiently on real machines"
Characteristics of well engineered Software are:
Operational Characteristics:
These are functionality based factors and related to 'exterior quality' of software. Various
Operational characteristics of software are :

Correctness: The software which we are making should meet all the specifications stated by
the customer.
Usability/Learnability: The amount of efforts or time required to learn how to use the
software should be less. This makes the software user-friendly even for IT-illiterate people.
Integrity : Just like medicines have side-effects, in the same way a software may have a side-
effect i.e. it may affect the working of another application. But a quality software should not
have side effects.
Reliability : The software product should not have any defects. Not only this, it shouldn't fail
while execution.
Efficiency : This characteristic relates to the way software uses the available resources. The
software should make effective use of the storage space and execute command as per desired
timing requirements.
Security : With the increase in security threats nowadays, this factor is gaining importance.
The software shouldn't have ill effects on data / hardware. Proper measures should be taken
to keep data secure from external threats.
Safety : The software should not be hazardous to the environment/life.
Revision Characteristics :
These engineering based factors of the relate to 'interior quality' of the software like
efficiency, documentation and structure. These factors should be in-build in any good
software. Various Revision Characteristics of software are :-

Maintainability : Maintenance of the software should be easy for any kind of user.
Flexibility : Changes in the software should be easy to make.
Extensibility : It should be easy to increase the functions performed by it.
Scalability : It should be very easy to upgrade it for more work(or for more number of users).
Testability : Testing the software should be easy.
Modularity : Any software is said to made of units and modules which are independent of
each other. These modules are then integrated to make the final software. If the software is
divided into separate independent parts that can be modified, tested separately, it has high
modularity.
Transition Characteristics :
Interoperability : Interoperability is the ability of software to exchange information with
other applications and make use of information transparently.
Reusability : If we are able to use the software code with some modifications for different
purpose then we call software to be reusable.
Portability : The ability of software to perform same functions across all environments and
platforms, demonstrate its portability.
Software Myths:

Management Myth:
1. The members of an organization can acquire all-the information, they require from a
manual, which contains standards, procedures, and principles
2. If the project is behind schedule, increasing the number of programmers can reduce
the time gap.
3. If the project is outsourced to a third party, the management can relax and let the other
firm develop software for them
User Myths:
4. Brief requirement stated in the initial process is enough to start development; detailed
requirements can be added at the later stages.
5. Software is flexible; hence software requirement changes can be added during any
phase of the development process.
Developer Myths:
6. Software development is considered complete when the code is delivered.
7. The success of a software project depends on the quality of the product produced.
8. Software engineering requires unnecessary documentation, which slows down the
project.
9. The only product that is delivered after the completion of a project is the working
program(s).
10. Software quality can be assessed only after the program is executed.
Software Development Life Cycle:
The SOFTWARE development life cycle (SDLC), also referred to as the application
development life-cycle, is a term used in systems engineering, information systems and
software engineering to describe a process for planning, creating, testing, and deploying an
information system. The systems development life-cycle concept applies to a range of
hardware and software configurations, as a system can be composed of hardware only,
software only, or a combination of both.
The SDLC adheres to important phases that are essential for developers, such as planning,
analysis, design, and implementation. It includes evaluation of present system, information
gathering, feasibility study and request approval. These stages can be characterized and
divided up in different ways, including the following
Preliminary analysis: The objective of phase 1 is to conduct a preliminary analysis,
propose alternative solutions, describe costs and benefits and submit a preliminary
plan with recommendations.
Systems analysis, requirements definition: Defines project goals into defined
functions and operation of the intended application. Analyzes end-user information
needs.
Systems design: Describes desired features and operations in detail, including screen
layouts, business rules, process diagrams, pseudocode and other documentation.
Development: The real code is written here.
Integration and testing: Brings all the pieces together into a special testing
environment, then checks for errors, bugs and interoperability.
Acceptance, installation, deployment: The final stage of initial development, where
the software is put into production and runs actual business.
Maintenance: During the maintenance stage of the SDLC, the system is assessed to
ensure it does not become obsolete. This is also where changes are made to initial
software. It involves continuous evaluation of the system in terms of its performance.
Evaluation: Some companies do not view this as an official stage of the SDLC, but is
it an important part of the life cycle. Evaluation step is an extension of the
Maintenance stage, and may be referred to in some circles as Post-implementation
Review.
Disposal: In this phase, plans are developed for discarding system information,
hardware and software in making the transition to a new system. The purpose here is
to properly move, archive, discard or destroy information, hardware and software that
is being replaced, in a matter that prevents any possibility of unauthorized disclosure
of sensitive data
.

Você também pode gostar