0% found this document useful (0 votes)
31 views3 pages

2.1 Software Process Model

The document discusses the software development process, outlining key steps like feasibility, requirements, design, implementation, testing, and maintenance. It also covers different process models like waterfall, agile, iterative development and spiral. Heavyweight processes aim for complete deliverables while lightweight favors incremental working software.

Uploaded by

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

2.1 Software Process Model

The document discusses the software development process, outlining key steps like feasibility, requirements, design, implementation, testing, and maintenance. It also covers different process models like waterfall, agile, iterative development and spiral. Heavyweight processes aim for complete deliverables while lightweight favors incremental working software.

Uploaded by

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

Group 2 – The Software Process

Software Process

 The series of actions that result in the development of software is known as the software process.
It involves either developing new software from scratch or modifying an existing system.

Software Development Basic Process Steps


1. Feasibility and Planning
o The first part of the process involves assessing the possibility of implementing the
software project; followed by planning the execution of the project. It consists of
studying technical, economic, and operational components to determine a project’s
feasibility.
2. Requirements
o Define the function of the system from the client’s viewpoint. It establish the system’s
functionality, constraints, and goals by consultation with the client, customers, and users.
3. UI Design
o Focuses on designing the visual and interactive elements of the software to ensure a
user-friendly and intuitive experience.
o Usability is of great importance in many modern applications and software systems. That
requires good user interface design.
4. System and Program Design
Describes the system from the software developer’s viewpoint.
o System Design – Establish a system architecture, both hardware and software that
matches the requirements.
o Program Design – Represent the software functions in a form that can be transformed
into one or more executable programs.
5. Implementation (Coding)
o The stage where developers write the actual code for the software based on the design
specifications.
o Program testing – an integral part of implementation.
6. Acceptance and Release
o Acceptance Testing – The system is tested against the requirements by the client, often
with selected customers and users.
 Consultant with stakeholders if it met the requirements and expectations.
o Delivery and release – After successful acceptance testing, the system is delivered to the
client and released into production or marketed to customers.
7. Operation and Maintenance
o Operation and Maintenance – deploying the software for use and providing ongoing
support, updates, and enhancements as needed.
o Evolution – The system evolves over time as requirements change, to add new functions,
or adapt to a changing technical environment.
o Phase Out – The system is withdrawn from service – Sometimes called the Software
Life Cycle.

Categories of Testing
1. User Testing – Version of the user interface are tested by users. Their experience may lead to
changes in the requirements or the design.
2. Program Testing - The development teams tests components individually (unit testing) or in
combination (system testing)
3. Acceptance Testing – The client tests the final version of the system or parts of the system against
the requirements.

Importances of Software Process

 Quality Assurance – lead to higher quality


 Risk Management – developers will be able to take precautions against potential risks and
dangers.
 Increases Efficiency – maximizes the development lifecycle by adding up the time and costs for
the implementation of a software project.
 Maintainability – The software development procedure is designed to develop products of
software that aims at maintainability.
 Continuous Improvement – Teams may discover areas for improvement and develop the
process iteratively.

Software Process Model

 represents the order in which the activities of software development will be undertaken.
 Describes the sequence in which the phases of the software lifecycle will be performed.

1. Waterfall Model
- Each phase is carried out completely before proceeding to the next.
- Strictly sequential
2. Agile Methodology
- Emphasized flexibility, collaboration, and customer-centricity.
Phases:
Brainstorm -> Desing -> Development -> Quality Assurance -> Deployment

Agile Methodology Frameworks


a. Scrum – framework within people can address complex adaptive problems while
productivity and creativity of delivering product is at highest possible values.
b. Kanban – The idea behind it is to visualize the current process as a series of steps.
c. Extreme Programming (XP) – one of the most important software development frameworks
of Agile models. It is used to improve software quality and responsiveness to customer
requirements.

3. Iterative Development
- initial development is started based on the initial requirements and more features are added to
the base software product with the ongoing iterations until the final system is created.

4. Spiral Model
- SDLC model that provides a systematic and iterative approach.

Heavyweight Process

 The development team works through the steps slowly an systematically, with the aim of fully
completing each step and delivering a complete software product that will need minimal changes
and revision.

Lightweight Process

 The development teams releases working software in a small increments, and develops the plans
incrementally, based on experience. Each increment includes all the process steps. There is
expectation that changes will be made based on experience.

Deliverables

 Some work product that is delivered to the client


 In a heavyweight process: each process steps creates a deliverable, usually documentation, ex:
requirements specification.
 In a lightweight process: the deliverables are incremental working code with minimal supporting
documentation.

You might also like