Describe the purpose of system design, development and testing
Describe the use of storyboarding in developing the user interface
Describe the use of prototyping in the design of the user interface and the data model
Understand the importance of testing throughout the development of a system in ensuring system quality
Distinguish between different types of testing: system, acceptance, alpha and beta
Understand the purpose of a test plan
Describe the main components of a test plan
Distinguish between different types of test data
Purpose of Systems Design, Development and Testing
Systems design is the production of a detailed description showing how the new system will be constructed. The purpose of the design stage is to produce a Systems Specification. One or more overall designs will be produced and then detailed designs will be produced for the preferred solution. This document will include detail on a number of design components/activities including:
Contents of System Specification
Detailed design of User Interfaces i.e. screens layouts, buttons, error messages
Identification of validations and verification of the input data.
Specification of Data structures such as: Database structure, ER Models, DFDs, normalisation.
Detailed design of Data inputs and outputs for the system including screen designs, report specifications, query designs, storyboards, macros etc
Data processing within the system
Hardware and software configuration
Test Plan
Data capture methods and forms for the system
Exam Tip: When revising remember the keywords in blue and then scaffold your answer with language connecting to the systems specification and system
Also remember that within a user interface [3a, 2022] the user can interact with/communicate with/control the computer system. The user can input data and the system outputs results
Types: command line/GUI(Windows)/menu driven/form based/natural language
The purpose is to develop the software package required for the information system.
The main things that take place:
Programmers write and test the code for the system and the features of the software package need to be developed.
Aspects such as data structures, data checking procedures and the user interface also need to be developed.
As part of the development stage there also needs to be evidence of effective use of the hardware and software specification
Write a test plan which details all the tests that they will carry out.
The purpose of testing is to ensure that the system works as described in the system specification. This is carried out by following the test plan.
To test each individual system function
To test that each function works with extreme or valid data
To test the whole system to ensure the system produces the correct results for the data input.
Testing should be able to:
demonstrate that all parts or functions of the solution work as expected, irrespective of what data input is and at the same time ensure all functions agreed upon with the user are included and work correctly.
As part of the testing stage, errors and limitations maybe identified and corrected.
To ensure testing is structured a test plan is devised including a range of test data.
Quality indicators used during the testing stage include:
Importance of Testing throughout the Development of a System
Tests only a single "unit" of the code (say a module or a class), to see if it behaves as expected. They generally make sure that the behavior of the module is desirable, whilst not trying to see if it works as part of the entire system.
Tests the entire system. For example, if we're writing code to generate a web-site, we could test that the various pages of the resultant site contain some of the qualities that we expect. System tests test the system as a whole, to see if there's a bug somewhere.
Between unit tests and system tests there could be several intermediate layers of tests, normally called integration tests. It ensures aspects of the system work together
Carried out by the developer in house
The system is tested against the system/module specifications
Modules are tested against module specifications known as Module testing to test each module against its specification.
Modules are tested working together known as Integration testing to test that modules interact correctly with one another.
System testing is carried out to check that the complete system meets its system specification.
Test schedule/plan will be used.
Special test data is used.
o Extreme data – to test that the system can cope with very large or very small data values.
o Valid data – to test that the system operates with normal data.
o Invalid data (Erroneous) – to test the system does not crash.
o Null data – to test that the system can cope when not data is enterered.
The software is debugged.
Carried out after alpha testing, when the application is ready to be released.
System given to selected group of potential users/end users to test OR the system is tested in the presence of the end users.
Known as pre-release testing
…for use in a realistic environment
In acceptance testing end users test with real data/real volumes of data
…who may detect errors not anticipated by the developers.
The users evaluate the system/provide feedback to the developer.
Testing continues until there is an agreement that the system performs as it should and meets the end user requirements.
Test Data
Normal/Valid Data
This included data that the program will accept and ensures that the system operates with normal data.
Extreme
This includes data that is on the limits of acceptability.
Exceptional/
Invalid/Erroneous
This is data that when entered should be invalid and not accepted.
Null Data
To test that the system can cope when not data is entered.
Use of storyboarding in developing the user interface
A Storyboard is a diagram that shows the planned sequence of screen displays in a user interface. Unlike the storyboard of a movie (which is linear) the storyboard may be a “branching” diagram showing the different paths available to the user.
Diagrams will be produced for each page of the website
Each diagram will show the user interface of each page
This will include user input/output
And the different navigation paths available to the user.
Shows the sequence of screens available to the user.
Exam Tip: Learn the 5 bullet points as it demonstrates how storyboarding is used during interface development
The prototype model addresses the common problem of customers not knowing all requirements at the beginning of the project. They often know a high level of requirements but cannot specify them in detail required to make a successful system.
A prototype is a working model/rough-cut model of a new system.
Prototyping involves a working model being created, tested, and used to give the user a “Look and Feel” experience.
The working model is shown to the end user(s) who tests it and provides feedback and then it is REFINED again and again, until the end user(s) is happy.
Evolutionary prototyping
This involves building a working model or rough-cut of the new system in order to evaluate its potential.
This is continually refined so that it eventually evolves into an acceptable user system.
Throw-away prototyping
The prototype is used to give the user a chance to experience the “look and feel” of the system.
Before it is discarded once the system specification has been established.
Role of End User in the Prototyping Model
End user is continually involved throughout.
The user is involved right from the start of the project
...In helping the systems analyst define some preliminary requirements
The user tests each version of the prototype
…and provides feedback to the analyst
Based on the feedback the analyst will make changes to the prototype, give it back to the user who will then evaluate the changes.
This process will continue as refinements are made to the prototype. The result of these refinements may result into a fully working system (Evolutionary Prototyping) or produce a set of user requirement (Throw-away prototyping). This system is then fully developed using an alternative approach such as Waterfall method.