0% found this document useful (0 votes)
13 views5 pages

Software Development

The document outlines two primary approaches to software development: the Agile Approach, which is flexible and iterative, and the Waterfall Approach, which is structured and sequential. It details the software development process, emphasizing the importance of user-centered design, prototyping, and thorough documentation, as well as the roles of various team members involved in the process. Additionally, it distinguishes between stakeholders, who have an interest in the business, and stockholders, who own shares in a company.

Uploaded by

m.wallace22
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)
13 views5 pages

Software Development

The document outlines two primary approaches to software development: the Agile Approach, which is flexible and iterative, and the Waterfall Approach, which is structured and sequential. It details the software development process, emphasizing the importance of user-centered design, prototyping, and thorough documentation, as well as the roles of various team members involved in the process. Additionally, it distinguishes between stakeholders, who have an interest in the business, and stockholders, who own shares in a company.

Uploaded by

m.wallace22
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

Software

Development
The Two Approaches to
Software Development
 Agile Approach – The Agile
Approach is a flexible and
collaborative way of
working on projects.
A common feature of this
approach is Iteration;
where when obstacles or problems are encountered, it’s good to go
back to a prior step, and work through the process again.
✔ A benefit to this is producing working software early in the
project, and getting feedback from users.
✔ Another benefit is that Agile provides frequent and close co-
operation between developers and users.
✘ A drawback from this is that there is a lack of documentation.
This is because it’s less prioritized.
✘ Projects can become everlasting, because there’s no clear end
to it.
 Waterfall Approach – The Waterfall Approach is a more formal and
less flexible way of working on projects.
Stages should not commence until the previous stage has been
reviewed, and documented.

✔ Requirements are clearly and accurately stated. They remain


unchanged.
✔ It has a clear structure with well-defined goals for each
phase.
✘ There are no consideration for error correction.
✘ When design flaws are discovered, the process is started from
scratch. (ouch.)

The Software Development Process


The Software Development Process is important because it:
- Improves software
quality, by
increasing the
potential that the
project will meet the user requirements, while reducing risk of
errors.
- Provides a structured approach, helping to reduce complexity.
Investigate
- Involves identifying and fully analysing the nature of the problem
that the software is expected to solve.
Plan
- Involves planning what to do and how.
- Estimates the amount of time required to do the work is made for
each task.
- Project staffing is considered, and a project management
software is used to create plans, and ensure everything stays on
track.
Design
- Involves planning how the software will work and look.
- Methods like Top-Down Design, and Modular Design are used.
o Top-Down Design starts with the main system, and breaks it
down into smaller units. Each unit is broken down until each
aspect is manageable.
o Modular Design sets a ‘module’ for each task, which a certain
team works on. (E.g. for a Car, modules such as Engine,
Brakes, Body etc. are all designed independently of each
other!)
- A prototype is created, enabling the developer and members of the
project team to get feedback from users at a very early stage.
What is a prototype? A prototype is an early version or model of a
product. It is built to test a concept or a process in advance and
to get feedback from users.
- Flowcharts are created, allowing to represent the flow of
operations of the system.
At each stage of the design process, the interaction of the system
and the user should be considered, and the user themselves should be
involved.
 User Centred Design
User Centred Design gives top priority to the needs of the user.
Since the software is used by people, it is important they can use it as
effectively as possible.
 User Experience (UX)
The User Experience refers to the experience of users when
interfacing with a product such as software. This can include
perception, preferences, emotions, and other factors, before, during,
and after use.
 User Interface (UI)
The User Interface is the point at which humans interact with a
computer, website, or an app. The goal is to make the user experience
easy, requiring minimum effort on the user’s part, to receive the
maximum desired outcome.
e.g. GUI (Graphical User Interface). The GUI is an environment
with windows, icons, and menus, which is controlled by a pointing
device. This is called a GUI because the user interacts with images
through a mouse, keyboard, or touchscreen.
 Universal
Design
(UD)
The Universal
Design is the
process of
designing a
product so that
everyone can
understand,
access, and
use it,
regarding of
their age, size,
or ability.

 Adaptive and Assistive Technology


Assistive Technology refers to any item, system, or product used to
improve the functional capabilities of individuals with disabilities.
Adaptive Technology is a subcategory of assistive technology; it refers
to something specifically designed for people with disabilities.
E.g. Screen Readers, On-Screen Magnifiers, On-Screen Keyboard, Braille
Keyboard.
Create
- Involves the actual writing of the software, to accomplish the task
set-forth in the plan stage.
Evaluate
- Involves testing of the software to make sure that it does what it’s
supposed to do, and that it does this consistently.
o Test Data are inputs that produce a known result and will be
used to test every part of the software. It must be prepared in
advance, and include normal, incorrect, and extreme values,
to ensure the software responds correctly to the types of test
data.
o Functional Testing involves testing each of the functions or
features of the system. It tests whether the software meets its
requirements, and the Non-Functional Testing tests how
well those requirements are met, with e.g. performance,
usability, and reliability. (Functional Testing is carried out
before Non-Functional Testing.)
- When the testing is over, a broader evaluation of the system should
take place. This compares the finished system with the
specifications of the requirements.

Document
- Records of all meetings, and phone calls should be kept, noting
decisions made, and issues to be resolved.
- Changes to the initial requirements, plan, or design at any stage
need to be documented properly.
- The whole project is documented, for example, the specifications of
requirements, project plan, the code itself, test plans and test data,
results of testing, evaluation reports, etc.
Working in Teams
Project - Involved in producing feasibility study, and
Manager specification of the requirements.
- Ensures the project is delivered on time, and within
budget.
- Ensures that all stages of development process are
carried out efficiently and effectively.
System - Once the user and business requirements are identified,
Analyst the analyst establishes the hardware and software
requirements.
- Investigates and documents the technical aspects of the
problem.
Designer - Conceptualizes and designs the software (including
its UI, UX) to meet the specification.
- Produces the design documentation.
Developer - Writes the programs, and maintains backup copies of
the programs.
- Carries out Unit Testing.
Tester - Produces test plans, and test data, and then carry out
tests.
- Ensures the results of tests are documented and
reported.

What are stakeholders, and stockholders?


A stakeholder is anyone with an interest on the business. They can be
from inside or outside the business. Stakeholders can affect, or be
affected by a business.
e.g. Let’s say I own a factory. I would consider the following stakeholders:
- Community – If I decide to double the production due to increasing
demands, pollution increases, thus affecting the community as
they’d want to have been environmentally friendly.
- Customer – If I increase the price of the product, customers will
perceive it as a high-quality product, but may not purchase it
anymore. They get affected.
- Government – The Government is affected by the business due to
the taxes. If the business ears more, then more taxes are paid to the
government. However, if the business is shut down, the government
is shut down.
A stockholder is someone who owns shares in a company, and therefore
gets part of the company's profits and the right to vote on how the
company is controlled.
e.g. Tesla stockholders.

You might also like