PRESENTATION OUTLINE
The Software Development Life Cycle
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.
Any ideas on how Mrs Lesi can solve this problem?
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???
An IT Solution can also be referred to as a Software Application. It is a computer program that processes or interprets information or data.
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?
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.
What is Software Development?
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.
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”
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 is about gathering requirements and collecting facts that describe how the user currently works and what they want the new software solution to do.
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.
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.
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.
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
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.
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
Product Launch is about releasing, deploying or implementing the final software solution so that people can start using it commercially.
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?
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
Summary
- We have gone through the entire software development process
- Let's recap...
- Question?