1 of 40

Slide Notes

DownloadGo Live

The Software Development Lifecycle

From Idea to Software Product

PRESENTATION OUTLINE

The Software Development Life Cycle

=> from Idea to Actual software application
Photo by ntr23

LOOK AT This PICTURE...

What do you see???
Photo by Eneas

Mrs Lesi owns a supermarket but she never knows what products are in stock.

Many times when customers come in, the particular product that they want is not available because no one knew that it was finished and so they did not re-order it.

The end result is that the supermarket is losing customers and money.

Photo by Eneas

Any ideas on how Mrs Lesi can solve this problem?

Photo by Hryck.

Mrs Lesi was advised that she needs an IT Solution to manage and keep track of the products in her supermarket and know when she needs to re-order.

What is an IT solution???

Photo by Travis S.

An IT Solution can also be referred to as a Software Application. It is a computer program that processes or interprets information or data.

Photo by Travis S.

What kind of IT Solution or Software Application does Mrs Lesi need?

So a database is a type of IT Solution or Software Application right?

Photo by swisscan

Where will the Software Solution come from?

Creating a Software Solution usually starts off with an idea, need or problem which goes through a process before it becomes an actual, physical or tangible product.

Photo by duncan

What is Software Development?

Photo by duncan

Software Development is the process of planning, analyzing, coding, testing and deploying a Software Solution e.g., a website, database, mobile app, business management application etc.

The Software Development Process

  • Software Development is a process or sequence of activities people go through to create software.
  • Each sequence is usually the result of the previous one.
  • It is also called a Life cycle because it has a beginning and an end.
Photo by NJ..

The SDLC

  • The Software Development Life Cycle (SDLC) describes the phases involved in the invention or creation of software solutions.
  • It begins at the “Initial Idea Stage”
  • And extends up to the “Constant & Continuous Improvements Stage”
Photo by NJ..

The Life Cycle

Photo by cod_gabriel

Planning

Planning starts with the Initial Idea, Need or Problem.
This idea, need or problem needs to be carefully thought through before it can be developed into Software Solution.

Planning Exercise

  • Process – Define the problem Mrs Lesi is trying to solve and carry out a feasibility study. Work out how and when she will get the software solution, and who will help her.
  • Output - Project Brief.

System Analysis

Photo by notfrancois

System Analysis is about gathering requirements and collecting facts that describe how the user currently works and what they want the new software solution to do.

Photo by notfrancois

Analysis Exercise

  • Process - Collect facts about the existing and required system using questions, interviews, observation and questionnaires. What does Mrs Lesi want the product database to do? How will it be used? Make notes of the findings.
  • Output – Business Requirements Document (BRD) with Acceptance Criteria.
Photo by notfrancois

System Design

Photo by geishaboy500

System Design is about mapping out the blue-print of the desired software solution using information in the BRD.

It is the visual layout and documentation of screens, the architecture, processes, business rules and how they would function.

Photo by geishaboy500

System Design Exercise

  • Process – Describe and design the desired features, rules and instructions in detail including screen layout, tables, interfaces, data, etc.
  • Output – Functional Specification Document (FSD), Architecture Document, Wireframes, PSD, etc.
Photo by geishaboy500

Coding

Coding is about translating the specifications from the technical documents into machine readable language.

It also involves configuration, integration with other systems and hardware.

Coding Exercise

  • Process - Functional and non - Functional Specs are coded using C++, C#, XML, HTML, CSS, SQL, Javascript and so on
  • Output – Beta Product, Prototype, Source Code

Testing and QA

Photo by kevin dooley

The purpose of Testing and Quality Assurance is to check the beta product for errors, bugs and defects before it goes live. It is also to verify that it works according to what the users requested, and that it conforms to performance and regulatory standards.

There are various types of tests – Unit, System, Usability, Integration, UAT, Penetration, Vulnerability, Load, Regression, Sanity.

Photo by kevin dooley

Testing and QA exercise

  • Process – Create a test plan and test cases from specifications in the BRD and FSD. Physically walk through each test case using the beta system as if you are the user to check that it produces the desired result.
  • Output – Test Results
Photo by kevin dooley

Product Launch

Product Launch is about releasing, deploying or implementing the final software solution so that people can start using it commercially.

Maintenance and Support

Its purpose is to guarantee that the software solution is functioning properly at all times.

Also, technology is constantly evolving so this needs to be monitored and the initial solution kept up to date with any changes.

Process:
Clarify user issues, fix any bugs found, carry out continuous evaluation to identify improvements, adjustments or modifications required and apply updates and patches

Who is actually a Software Developer?

Photo by Gustavo Minas

People involved in Software Development

  • Business / System / Software Analyst
  • System Designer / Solutions Architect
  • Test / QA Analyst / System Tester
  • Development Manager / Project Manager
  • Website Designer / Graphic Designer
  • Application Support Analyst
  • Database Administrator
  • Coder / Programmer
Photo by Joye~

Summary

  • We have gone through the entire software development process
  • Let's recap...
  • Question?
Photo by Toastwife

Contact