Tools Chap-1

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

Software Engineering

tools and practice

Chapter one
4 may 2023
Introduction to software
overview.
 Software: is considered to be collection of programing codes,
Associated libraries and documents when made for specific requirement
is called software products.
 Engineering: is all about developing products using well defined scientific
principles and methods.
 The outcome of software product is efficiency and reliable.
 Software engineering is the establishment and use of sound of engineering
principles in order to obtain economically that is reliable and work
efficiently on the real machine.
 Need of software engineering.

1. A large software: as the site software becomes large engineering has to


steps to give it or scientific principles.
2. Scalability: is the software process were not based on scientific and
engineering concept. It would be easier to re-create new software than
to scale the existing one.
3. Cost: the cost of software remains high of proper process not adopted.
4. Dynamic nature: always growing and adopting nature of software
hugely depends the environment where the user is work. This is where
the software engineering plays good role.
5. Quality management: better process of software development
provides better and quality software products.
 Software development life cycle (SDLC): SDCL provides a series of steps to
be followed to design and develop a software efficiently. SDLC include.

1. Communication: this is the first step where the user initiates to the
requires for the desired software product.

2. Requirement gathering: this step on wards the software


development team work to carry on the projects.

The requirements are collected using a number of practices given.


Studying the existing and absolute system and software.
Conducting interviews of users and developers.
Referring to the database or collecting answers from the questions.
3. Feasibility study: at this step the team analysis if the software can be designed
to fulfill all the requirements of the user and if there is any possible of software
being no more useful.
 Also analysis if the software or the project is financially possible or feasible for
the organization to take up.

4. System analysis: at this step developers deuce road map of their plan and try
to bring up the best software model suitable for the project.
 The project team analysis the scope of the projects and plans the schedule
and resource accordingly.
………………………………………………
………………………
5. Software design:
The input from the user and information gathered in the requirement
gathering phase are the input of this stage, the output of this step
comes in the form of two design: logical design and physical design.
6. coding:
This step is also known as programming phase. The implementation
of software design stars in terms of writing program code the suitable
programming language & developing, error free executable program
efficiency.
7. testing:
ST is done while coding by the developers and through testing is
conducted by testing experts, at various levels of code such as:
module testing, program testing, product testing, and testing the
products at user’s ends.

 Integration software may need to be integrated with the libraries,


database, and other programs.
8.Implementation:
this means installing the software on user’s machines
Software is tested for probability, adaptability and
integration related issues and solved during implementation.

9. Operation and maintenance:


This phase can firm the operation in terms of more efficiency
and less error.
 Software development model.
SDM: helps a developer to select a strategy to develop the software.

 water fall model.


WFM: is the simplest model of software development model.
All the phases of SDLC will function one after an other in linear manner.
Requirement
gathering

System analysis

coding

testing

implementation
• The water fall model is best suited when developers already have
designed and develops similar software in the past and are aware of
all its domains.
Applications of water fall model:-
Is only appropriate when the requirement are well understood, there
are no ambiguous requirements. It is suitable for small project.
Advantages
It is very simple and easy to understand and use.
Phases are processed and completed once at a time.
Works well for small project where requirements are very well
understood.
Disadvantage
It is not a good model for a long project.
It is very difficult to measure the process with in the stages.
Difficulty to respond changing customer requirements.
Inflexible portioning of the project in to district stages.

Iteration model:-
this model leads the SDP in iterations its projects the process of
development in cyclic manner repeating every step after every
cycle of SDP process.
Process.
Testing Coding Testing Coding

Verify Design Verify Design

N-1 heration n+1


The software is first developed on every small scale
and all the steps and followed which are taken in to
consideration.
 Application
Requirement & complete system are clearly defined and
understood major requirements must be defined it is
suitable for long projects.
Advantage
we can only create high leveled design application where are
building and improving a product is step by step manner.
We can get reliable users’ feedback in iteration model less
time spend and documentation more time for design part.
Disadvantage
each phase of iteration is rigid with no overlaps.
Costly system architecture or design issues may arise because not all
requirements are gathered up front for the entire life cycle.

Spiral model:-
Spiral model is the combination of both models and one of the
SDLC model.
This model considers risk which often goes un-notified by
most other models.
This model starts with determining objective and constraints.
• Next phase is prototyping the software includes risk analysis.
• Fourth phase of the plan of next iteration is planned.

Applications
Long term project commitment.
Customer is not sure of their requirements which is usually
the case.
Significant changes are expected in the product during
development life cycle.
Advantages
Changes requirements can be accumulated.
Users see the system early.
Development can be divided in to small projects and the risk part can
be developed earlier which help in better risk management.
Disadvantage
Management is more complex.
End of the product may not known early.
Not suitable for small projects or low risk management.
Process is more complex.
Analysis
design
code
test increment 1.
Analysis
design
code
test increment 2.
Analysis
design
code
test increment 3.
Advantage
• You can develop priorifited requirement first.
• Lower initiated delivering cost
• Requirement changes can be easily accommodated.

Disadvantage
Well defined module interface is required.
Requires effective planning and iterations.
Requirement effective design to ensure inclusion of the requirement
functionality.

END

You might also like