1.3 Design, Development and Testing
Design Phase in Context
✅ Follows on from the analysis stage
✅ The project manager and the end user will have agreed on the requirements ( Requirements Specification) so now How the project is going to be carried out in the System Specification
✅ This ensures the system will meet user requirements
Design
The production of a detailed description showing how the new system will be constructed. One or more overall designs will be produced and then detailed designs will be produced for the preferred solution
Systems Specification
Sets out the hardware and software requirements, as well as the organisational and human implications. It is produced at the end of the design phase and is used by the programmers and others to produce a system that works as intended.
Systems Specification contents
✅ This document will include detail on a number of design components including:
✅ Alternative solutions
✅ System diagram and commentary describing and justifying the solution.
✅ The user interface (Data input):
💥 screen layouts/ data capture methods
💥: Switchboards
💥 Menus
💥 Buttons
💥: Error message
✅ Valdation and verification of the input data.
✅ Data outputs for the system including:
💥 Report specifications
💥: Query designs
💥: Macros
System Specification contents
✅ Data storage and structure such as:
💥 Database structure
💥 Data Models
💥 Normalisation
✅ Detailed specification and structure diagrams of each process( functional specification)
✅ Hardware and Software configuration
✅ Test plan for:
💥 The Individual functions
💥 The systems as a whole
💥 The test data to be used
✅ Pseudo Code
Data Dictionary
A file which contains descriptions of and other information about the structure of the data held in a data base. Typically it contains items such as filed name, data type, field size, format, default value, entity, whether it is a primary key.
Contents of a Data Dictionary
✅ A data dictionary contains details such as:
💥 Entities
💥 Relationship between entities
💥 Field names
💥 Attributes such as:
💥 data types
💥 filed lengths
💥 validation checks
💥 input masks
💥 field formats
💥 default values
💥 key fields
💥 Description of attributes
Pseudocode
Is a method of describing a program. it uses control structures and keywords similar to those found in programming languages, but without the strict rules of programming languages. it may be presented in a form that looks like a combination of English and programming language.
HW & SW Configuration
The particular choice of hardware and software components is known as the configuration. Different systems may or may not have the same configuration
Hardware
✅ the following is recommended as the minimum hardware specification:
✅ Processor: Quad-core
✅ RAM: 16GB
✅ HARD DRIVE :500 GB
✅ Optical Drive: 24X DVD +/- RW Combo Drive
✅ Video:1 GB
Software
✅Operating Systems
✅Security Service Packs & Patches
✅ Application SW
✅ Anti- Virus SW
✅ Internet Browsing SW
✅ Browser Plug-ins
✅ Techmail
Development - The process of constructing the working system.
the purpose is to develop the software package required for the information system
In order to do this the following needs produced:
✅ appropriate programming code/ the features of the software package.
✅ Data structures
✅ Data checking procedures
✅ The user interface (UI)
As part of the development stage there also needs to be evidence of effective use of hardware.
What examples are in the video of things that need created?
• Design GUI
• Flow charts
• Pseudo code
• Validation rules
• Verification methods
• Test plans
• H&S requirements
1st Phase - Requirements gathering and analysis
2nd Phase – Where the project is designed
3rd Phase – project teams use the customer requirements and software design documents in the third phase.
The coding phase creates the operational ability of the software project.
During the coding phase the developers analysis the feasibility of each coding language and begin programming to coding specification
Without coding the program the product wont function according the customer specification
The coding is important because it’s what makes the code operate for the end user
Once the developer completes the code the code becomes the input for the next stage.
Prototyping- The construction simple version of the program which is used as part of the design process to demonstrate how the system will work. The prototype will have a working user interface but will not process any data. The prototype can be reviewed by the user and changes made to the system at the design phase
Testing- Is the process of detecting errors in a piece of software. it can be carried out at all stages of the software development lifecycle.
Test plan- The plan will describe each item that needs to be tested. it will provide instructions to be carried out and test data, which are the inputs used. it will also provide the expected outcomes. each set of test data and it is expected outcome forms a test cause.
Alpha testing is performed by testers who are usually internal employees of the organization. And Beta testing is performed by the clients or end users who are not employees of the organization
A system is concerned with behavior of the system as a whole, unlike integration testing, which focus on data transfer amongst modules, system testing checks complete end to end scenarios as the way a customer use the system.
Unit testing is also called components testing. And it is performed on a standalone module to check whether it is developed correctly
Apart from functional testing, non- functional requirements like performance, usability, load factor are also important.
The role of the tester is how to test the info structure, the security testing, the mircoservicing, deploying independently, managing the risks and so much more for a tester to do.
Testing is the process of detecting errors in a piece of software. Different types of testing can be carried out at all stages of SDLC. The purpose of system testing is to ensure that the system works as described in the systems specification. This is done by following the test plan.