1.3 design, development + testing Flashcards
What is system design?
-a creative process which results in an outline description of the system to be developed.
-requires a thorough understanding of what the system is to be used for and is only available after the analysis phase.
Activities during the design stage
- Specification of data structures
- Design of user interfaces
- Design of queries and reports
- Identification of the data validation/verification to be used
Purpose of the design stage
- To produce the systems specification
- To specify:
- the user interface
- IO layouts
- storyboards data structures
- Data validation and verification
- Data Flow Diagrams
Purpose of development
- To implement the design/system specification
- To develop the software package required for the information system
- Data structures, data checking procedures and the user interface also need to be
developed
what is storyboarding
Each screen/page of the user interface will be represented as a diagram showing the
content of each screen/page and the navigation paths/sequences/branches/links
storyboard for a website
- Diagrams will be produced for each page of the website
- Each diagram will show the user interface of the page
- This will include user input/output and the different navigation paths available to the
user
Advantages of storyboarding
-Promotes early communication between
designers and users
-Can be used to obtain feedback on many
aspects of the system early in the
development cycle, including functionality
and navigation
-Can be created quickly and easily
-Do not require specialist knowledge to
understand
-Changes can be more easily implemented
earlier in the process
disadvantages of storyboarding
-Unable to provide the higher-level
interactive quality of other methods
-Provide only limited detail
-Does not accurately convey aspects of the
user interface such as speed, system
responsiveness or usability
What is prototyping?
- An initial non-functioning model of the user interface is created
- This has no database access/it might use dummy data
- Additional interaction is added from feedback from the user
- The user will be able to evaluate and provide feedback to the systems analyst
Evolutionary
- a first cut model is produced
- It is evaluated then modified in response to feedback from the user
- This process is repeated and continually refined
- So that it eventually evolves into an acceptable user system.
Throwaway
- this is used to give the user a chance to experience to “look and feel” of the system.
- It is then discarded once the system specification (objectives) have been
established. - The system is then built using the same or new software method such as the
waterfall method.
advantages of prototyping
-Can improve the quality of the user
requirements and specifications provided to
developers
-Problems, Refinements and enhancements can be identified and introduced earlier in the development of the system
-Requires users to be involved and this
interaction allows them to provide better,
and more complete, feedback
disadvantages of prototyping
-Can be expensive and can result in an
unwillingness to make significant changes
to the prototype
-Excessive development time can be spent
on the prototype
suitability
-Does the system meet all its objectives?
-Is it ‘fit for purpose’?
-Does the system provide the required functionality?
-Is it compatible with existing
technology/hardware/software/data?
-Is it robust/free of errors?
Usability
-How fast can a user learn to use the user interface?
-Is the interface intuitive?
-Does the interface match the user’s level of ICT
competence?
-How well can a user transfer previous skills?
-What training may be required?
Effectiveness
Does the system perform its tasks efficiently?
Has it been designed to facilitate maintenance?
Black Box testing
- The testing examines whether the functionality of the code is satisfactory without
having any access to or knowledge of the source code - The code is invisible to the tester which means they can be non-technical
White Box testing
- The tester has access to the internal structures of the code
- The tester is able to consider the various pathways through the code and can
structure their testing to accommodate that - Requires an understanding of the code in use
Integration testing
- The effects of bringing together the individual software units are checked
- Typically, integration problems will occur at the interface between units and this
may be due to inconsistencies in the data that each of them expects to receive.
System testing
-Makes sure the system works as described in the specification.
-Each system function is tested with valid data and extreme/invalid data
Acceptance testing
- Involves testing the software by the end user in the “live” environment with real
volumes of data so that the system can be signed off - The end user is testing the system to ensure it meets the user requirements
- The end users will feedback to the developer any issues arising
- The aim is to get agreement between the developer and the end user
alpha testing (application testing)
-Carried out in-house/by the developers/programmers
-Includes module testing, integration testing, system testing, white box/black box
testing using module specifications/test plan/test schedule
Beta testing
- Takes place after alpha testing
- Performed by potential users who test a pre-release version in a realistic/real-life
environment using real volumes of data - The users provide feedback to the developer (s)
purpose of a test plan
-produced at the design stage.
-It is a detailed document which will be used by a group of testers.
-When actual result is not as expected, the developing team can modify the system
and further testing takes place