Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

SOFTWARE ENGINEERING

Assignment-I

NAME:Bavadharini.M
CLASS:B.tech(IT)-Third year
Regno:721820205012
Date:10.10.2022
SOFTWARE DEVELOPMENT
Software development is the process of conceiving, specifying,
designing, programming, documenting, testing, and bug fixing involved
in creating and maintaining applications, frameworks, or other software
components.
What is Software Development Life Cycle?
❖ SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) is a
standard process used by software development companies to
design, develop and test high-quality software. The main aim of
SDLC is to produce high-quality software that meets business
requirements and customer expectations and reaches completion
within time and budget estimate.
❖ SDLC is the abbreviation used for the Software Development Life
Cycle. It is also known as Software Development Process. SDLC
life cycle is a framework of defined tasks performed at each step of
the software development process.
❖ The international standard in software engineering for the software
life cycle process is ISO/IEC/IEEE 12207. These standards and life
cycles hold a lot of importance in software development. Let us
know the reason behind it.

Importance of Software Development Life Cycle


➢ It acts as a guide to project management.
➢ It helps in determining the clear end goals.
➢ It helps in meeting the client’s requirements.
➢ It helps in evaluating, scheduling, and eliminating deliverables.
HOW TO DEVELOP A APP LIKE ZOMATO?

1. Planning

✓ Planning is the most important and fundamental stage of SDLC.


The most senior team members perform it with the help and inputs
of customers, the sales and marketing department, and domain
experts of the industry. This information is used to conduct
feasibility studies in economic, legal, operational, technical, and
schedule areas.
✓ Planning related to the quality Assurance (QA) and risk
identification of the project is also done in this phase. This phase
aims to determine the approach to be followed to implement the
project with minimum risks.
✓ Effective planning consists of a good project planning process and
Latest as well as effective planning software.
2. Requirements

Requirement Analysis includes four types of activities. These activities


are :
• ELICITING REQUIREMENTS: It is the task of communicating
with the customers and users to determine their actual
requirements.
• ANALYZING REQUIREMENT: Verifying the requirements are
unclear, ambiguous, contradictory, or incomplete, and then
resolving the occurring issues.
• REQUIREMENT MODELING: Requirements are documented
in different forms like natural language documents, use case
diagrams, process specifications, or user stories.
• REVIEW AND RETROSPECTIVE: Team members review
iterations and finalize improvements to move forward.
Requirements break down the steps that are needed to meet the
business requirements. While business requirements state the ‘Why’ of a
project, software requirements focus on ‘What.’

Techniques for identifying software requirements :

✓ Data Flow Diagrams (DFD)

✓ Use Case Diagrams

✓ User Stories

3 Software Design

Software design is a process to transform user requirements, i.e., an SRS


document into a suitable form, which helps the software developer in
software coding and implementation. It is the first phase of SDLC,
which moves from the problem domain to the solution domain.

Principles of Good Software Design


A remarkable user experience and customer satisfaction and loyalty are
obtained as end results when the following software design principles
are applied.

The principle of good software design are:

MODULARITY: Dividing a large software project into smaller


modules or portions is known as Modularity.

COUPLING: Coupling is referred to as interdependence between


software modules and how closely they are connected.

ABSTRACTION: Abstraction is hiding irrelevant information and


showing only essential details to the user.
3. Software Development / Coding:

❖ Once the design phase is over, the next phase in the Software
Development Life Cycle (SDLC) is coding. This is the actual
phase where software development is done. This SDLC phase is
also known as implementation.
❖ In this phase, software developers start to build the entire software
product or application by writing code. Multiple programming
languages are used to write code in the software development
process.
❖ In the coding and implementation phase, tasks are divided into
smaller units or modules and assigned to developers. Few
developers might write a small project, while a large project may
need a complete software development team. Coding is the most
extended phase of the Software Development Life Cycle.
❖ Basically, the software development/coding phase is subdivided
into two areas, Front End and Backend.
4. Testing

▪ Once the software development/coding is completed, it is deployed


in the testing environment. This phase is known as Testing
or SOFTWARE TESTING. In this phase, developed software is
tested in detail by the software testing team and the defects found
are assigned to software developers to be fixed. This process is
repeated until the software is bug-free, stable, and works according
to set standards.
Requirement Analysis: Requirement Analysis is also known as the
Requirement Testing phase. Here, testing teams study requirements
from a testing point of view. At the same time, the QA team interacts
with the stakeholders to understand requirements in detail.
▪ Test Planning: Test Planning in STLC is a phase where a senior QA
Manager plans the test strategy. Here the resources, test environment,
test schedule, and test limitations are determined.
▪ Test Case Development: In the Test Case Development phase, the
testing team noted the details of test cases. The testing team also
prepared the test data in this phase.
▪ Test Environment Setup: Test Environment Setup is a phase where the
hardware and software criteria are decided in which a software product
or application is to be tested. It is an important aspect of STLC.
▪ Test Execution: In the test execution phase, the testing team starts
executing test cases based on test case development and test
environment setup.
▪ Test Cycle Closure: Test Cycle Closure is the completion of STLC. Here
the testing process is analyzed.

6. Deployment
Every software development company has its own process for software
deployment. But overall, software deployment can be determined in
three phases: preparation, testing, and deployment.

Preparation: In the preparation stage, software developers gather all the


code, functions, libraries, files, and resources needed for the software
application to function. Together these items are packaged as a single
software release.

Testing: Before the software can be pushed to a live environment, it is


tested well through automated testing.

Deployment: Once the software is fully tested, it is pushed to a live


environment. Software developers may run a set of scripts to update
relevant databases before software goes live. The final step is to check
for the errors and bugs on the live server.

Best Software Deployment Practices

To have effective and accurate results of software deployment in the


SDLC process, here are some best practices to be followed.

• Have a deployment checklist

• Choose a suitable deployment method

You might also like