KEMBAR78
Lecture 2 Context of Software Development | PDF | Software Development Process | Software Development
0% found this document useful (0 votes)
10 views26 pages

Lecture 2 Context of Software Development

Uploaded by

atlevertpro262
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views26 pages

Lecture 2 Context of Software Development

Uploaded by

atlevertpro262
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

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.

1
❖Software development is a process of writing and
maintaining the source code, but in a broader sense, it
includes all that is involved between the conception of the
desired software through to the final manifestation of the
software, sometimes in a planned and structured process.
❖Therefore, software development may include research,
new development, prototyping, modification, reuse, re-
engineering, maintenance, or any other activities that result
in software products.
2
Define SDLC (Software Development Life Cycle)

• The Software Development Life Cycle (SDLC) refers to a


methodology with clearly defined processes for creating high-quality
software.
• SDLC or the Software Development Life Cycle is a process that
produces software with the highest quality and lowest cost in the
shortest time possible.
• SDLC provides a well-structured flow of phases that help an
organization to quickly produce high-quality software which is well-
tested and ready for production use.
Why SDLC

Reasons why SDLC is important for developing a software system.


• It offers a basis for project planning, scheduling, and estimating
• Provides a framework for a standard set of activities and
deliverables/outputs
• It is a mechanism for project tracking and control
• Increases visibility of project planning to all involved stakeholders of the
development process
• Increased and enhance development speed
• Improved client relations
• Helps you to decrease project risk and project management plan overhead
by Jilvan Pinhei
PHASE /STEPS SOFTWARE DEVELOPMENT LIFE CYCLE
by Ovindu Archana Nambukara
Software Development Life Cycle (SDLC) by Strolve
Phase1: Planning
• In this phase, the project leads to defining the project’s purpose and the
desired result.
• If the team is developing for a customer instead of to market, the project
manager meets with them to discuss the product, its purpose, and the
results they want to achieve. The team gathers as much information about
the product from the customer.
• By the end of the planning phase, the team leads should have a working
estimate of how much the project will cost and who will be part of the
project. They also set a project deadline and milestones and overall create
the basic structure for the project.
• By the end of this phase (or, at the very least, the next one), each team
member must understand their roles and tasks.
• This initial stage of software development, involves defining the software’s
purpose and scope, much like pinpointing our destination and plotting the
best route. We uncover the tasks at hand during this phase and strategize
for efficient execution.
• The team collaborates to understand the end-users’ needs and the goals
the software should meet. Essentially, we ask, “What problem will this
software solve?” and “What value will it offer to the user?”
• A feasibility study also takes place during the Planning phase. Developers
and product teams evaluate technical and financial challenges that might
affect the software’s development or success.
• So, what transpires in this phase? Key documents such as the Project Plan
and Software Requirement Specification (SRS) are created. These guides
detail the software’s functions, necessary resources, possible risks, and a
project timeline.
• The Planning phase fosters effective communication and collaboration
within the team. By defining clear roles, responsibilities, and expectations,
it lays a solid foundation for an efficient software development process.
Feasibility study

• Once the requirement analysis phase is completed the next SDLC step
is to define and document software needs.
• This process conducted with the help of Software Requirement
Specification document also known as 'SRS' document.
• What Is a Software Requirements Specification (SRS) Document?
SRS a document that describes what the software will do and how it
will be expected to perform.
• It includes everything which should be designed and developed during
the project life cycle.
There are mainly five types of feasibilities checks

• Economic: Can we complete the project within the budget or not?


• Legal: Can we handle this project as cyber law and other regulatory
framework/compliances.
• Operation feasibility: Can we create operations which is expected by
the client?
• Technical: Need to check whether the current computer system can
support the software
• Schedule: Decide that the project can be completed within the given
schedule or not.
Phase 2: Requirements Analysis

• Phase 2 of the SDLC, Requirements Analysis, seeks to identify and record


the precise requirements of the final users. In this phase, the team is
looking to answer, “What are the expectations of our users from our
software?” This is called requirements gathering.
• The project team collects information from stakeholders, including
analysts, users, and clients. They conduct interviews, surveys, and focus
groups to understand the user’s expectations and needs. The process
involves not only asking the right questions but also accurately interpreting
the responses.
• After collecting the data, the team analyzes it, distinguishing the essential
features from the desirable ones. This analysis helps the team understand
the software’s functionality, performance, security, and interface needs.
• These efforts result in a Requirements Specification Document. It
outlines the software’s purpose, features, and functionalities, acting
as a guide for the development team and providing cost estimates if
needed. To ensure its reliability, the document is validated for
accuracy, comprehensiveness, and feasibility.
• The success of the Requirements Analysis phase is pivotal for the
entire project. Done right, it leads to a software solution that meets
users’ needs and exceeds their expectations.
Phase 3: Design/prototyping

• In this phase, the system and software design documents are prepared as per
the requirement specification document.
• This helps define overall system architecture. This design phase serves as
input for the next phase of the model.
• There are two kinds of design documents developed in this phase.
• High-Level Design (HLD)
✓Brief description and name of each module
✓An outline about the functionality of every module
✓Interface relationship and dependencies between modules
✓Database tables identified along with their key elements
✓Complete architecture diagrams along with technology details
Low-Level Design(LLD)
• Functional logic of the modules
• Database tables, which include type and size
• Complete detail of the interface
• Addresses all types of dependency issues
• Listing of error messages
• Complete input and outputs for every module
• The Design phase models the way a software application will work. Some
aspects of the design include:
• Architecture – Specifies programming language, industry practices, overall
design, and use of any templates or boilerplate
User Interface – Defines the ways customers interact with the software,
and how the software responds to input
Platforms – Defines the platforms on which the software will run, such as
Apple, Android, Windows version, Linux, or even gaming consoles
Programming – Not just the programming language, but including methods
of solving problems and performing tasks in the application
Communications – Defines the methods that the application can
communicate with other assets, such as a central server or other instances
of the application
Security – Defines the measures taken to secure the application, and may
include SSL traffic encryption, password protection, and secure storage of
user credentials
Prototyping
• Prototyping can be a part of the Design phase.
• A prototype is like one of the early versions of software in
the Iterative software development model. It demonstrates a
basic idea of how the application looks and works. This
“hands-on” design can be shown to stakeholders. Use
feedback given to improve the application. It’s less expensive
to change the Prototype phase than to rewrite code to make
a change in the Development phase
Phase 4: Coding

• In this phase, developers start build the entire system by writing code
using the chosen programming language.
• In the coding phase, tasks are divided into units or modules and
assigned to the various developers. It is the longest phase of the
Software Development Life Cycle process.
• In this phase, the Developer needs to follow certain predefined coding
guidelines. They also need to use programming tools like compiler,
interpreters, debugger to generate and implement the code.
Phase 5: Testing

• Once the software is complete, and it is deployed in the testing


environment. The testing team starts testing the functionality of the
entire system. This is done to verify that the entire application works
according to the customer requirement.
• During this phase, QA and testing team may find some bugs/defects
which they communicate to developers. The development team fixes
the bug and send back to QA for a re-test. This process continues until
the software is bug-free, stable, and working according to the business
needs of that system.
Phase 6: Installation/Deployment

• Once the software testing phase is over and no bugs or errors left in
the system then the final deployment process starts. Based on the
feedback given by the project manager, the final software is released
and checked for deployment issues if any.
Phase 7: Maintenance

• Once the system is deployed, and customers start using the developed
system, following 3 activities occur
• Bug fixing - bugs are reported because of some scenarios which are
not tested at all. A bug is a coding error in a computer program.
• Upgrade - Upgrading the application to the newer versions of the
Software.
• Enhancement - Adding some new features into the existing software.
• The main focus of this SDLC phase is to ensure that needs continue to
be met and that the system continues to perform as per the
specification mentioned in the first phase.
Reference
• https://www.split.io/blog/software-development-life-cycle-phases/

You might also like