There are seven stages of the software development cycle:
Analysis
Analysis is the first stage of The Software Development Cycle. It is the stage where the software specifications are gathered and complied into a legal contract with the client and a report document which is then passed on to the design team. It is done by The Systems Analyst:
The Systems Analyst
The job of the Systems Analyst is to visit the client and assess the company’s needs and current computer systems. The Systems Analyst is required to observe, clarify and model the company’s current system and assess its suitability. They will also determine if there is a need to upgrade the company’s current system.
They MUST have a sound technical background and were probably programmers.
The System’s Analyst will: Determine the needs of the client.
Document the needs in a clear and formal way.
Pass the needs onto the Design Team.
Extracting the needs of the client is known as the Requirements Elicitation.
Extracting the needs of the client is done by:
Interviewing the client’s management personnel, technicians and end users.
Making observation notes of the clients business
Inspecting information sources used by the client (Invoices, orders, wage slips etc.)
The Systems Analyst will “Fact Find” by asking the people they interview five key questions again and again. These are:
Who? (What type of person will use the software?)
What? (What will the program be used for?)
Where? (Where will the program be used?)
When? (When will the program have to run and for how long?)
Why? (What is the purpose of the software being developed?)
T he Systems Analyst will then make up the Software Specification.
This is a legal statement of what the design team will go on to make and is the end result of the requirements elicitation.
Finally, The Systems Analyst must document the client’s needs by drafting a formal report. This will be passed onto the design team as an easy to read report of what they need to do.
Design Design is the second stage of The Software Development Cycle. It is the stage where the User Interface is design, the structure of the software is designed and finally the detailed logic of the software is designed (Code). These design pieces are done in many steps:
Design Representations There are many forms of design representation in common use, examples are: Graphical Design Notation
Structure Diagrams
Flow Charts
Written
Pseudocode
Structure Diagram A commonly used syntax for structure diagrams is as follows:
Pseudocode Pseudocode is another example of a method of describing a program.
English words are used to describe the steps of the algorithm and any refinements made
Hierarchy of Software A diagram of the Hierarchy of Software will:
Show the relationship between all the modules of software.
Identify modules which contain a call to other sub modules.
Top-Down Design
Breaking the problem down into smaller sections (Modules) and then dividing these sections into subsections (Sub Modules).
Continues until the problems being examined are easily implemented.
Bottom-Up Design
Sections of code, possibly written by different programmers, are combined and tested together to solve sections of the main problem.
Implementation
Implementation is where you turn the ideas from the design stage into detailed logic (code) and thus a working program.
Environments
Before implanting a solution you must decide on the programming environment (Programming Language). Examples of ones we may use are:
Language
Purpose
Algol
Science
Cobol
Business
Comal
Education
BASIC
Education
Fortran
Science & Maths
Java
Multimedia
Pascal
Education
Prolog
Artificial Intelligence
Inter-modeller
Artificial Intelligence
CASE Tools
CASE stands for Computer Aided Software Engineering. A CASE toolkit