1.2 System Design and Analysis Flashcards
1.2.4
Identify the relevant stakeholders when planning a new system
Stakeholders are anybody who has interest in or affected by the system.
* Anybody who will be affected by the new system
* end clients / users
* software engineers
* client company
1.2.5
Evaluate interviewing stakeholders as a form of obtaining requirements
Advantages:
* Allows very detailed information to be gathered
* Unstructured interviews may allow developers to gain insight they haven’t thought to ask
Disadvantages:
More costly and time consuming
1.2.5
Evaluate questionnaires as a form of obtaining requirements
Advantages:
* Easier, more time efficient and less costly
* Allows people to gather data from a lot of people at once
* Easy to turn data into clear statistics to analyse
Disadvantages:
* Less detailed
* If the stakeholders are not motivated, the quality of responses will be lower
1.2.5
Evaluate observation as a form of obtaining requirements
Direct observation Involves walking around the organisation watching how things are done with his/her own eyes.
Advantages:
* Gathering first-hand unbiased information
* See how day to day operations are run
* Notice aspects / improvements that the users haven’t noticed themselves
Disadvantages:
* People do not act the way they normally do when observed
* May make stakeholders uncomfortable
* May lower worker productivity from discomfort
1.2.6
Describe appropriate techniques for gathering the information needed to arrive at a workable solution
This is different from obtaining requirements from stakeholders.
* Examining the current system’s software, hardware, and infrastructure to see what works and what could be improved.
* Examine other completed products and see what competitors are doing right.
* Determine what the organisation is capable of. For example, can they afford the new system / equipment? Can they maintain the new system? What training is needed to transition to the new system?
* Consult literature to see if there is any information to obtain.
1.2.8
Describe the purpose of prototypes to demonstrate the proposed system to the client
A prototype is an early sample version of how the final product will look like. It only contains the core functionalities.
Prototypes are essential to testing as it can be used to evaluate each component of the proposed system without making the final version.
It also illustrates to clients what to expect in the final product. This makes sure the design is meeting the client’s requirements. It may also help clients get more accurate requirements as clients have a clearer idea of what the final product may look like.
By conceptualising the product, developers may also spot unforeseen problems that they have not expected in the planning stage.
1.2.9
What is iterative design?
The iterative design process has several stages: Planning, design, implementation, testing and evaluation. This process is repeated, with each iteration, the product improves.
1.2.9
Discuss the importance of iteration during the design process
The iterative design process allows developers to continuously refine their ideas, incorporate feedback from the client, detect errors and solve them quickly, and adapt to changing requirements.
1.2.10
Explain the possible consequences of failing to involve the end-user in the design process
Client dissatisfaction: When end-users are not part of the design process, the final system may not align with their needs and preferences.
Unsuited to the users’ needs / requirements: In addition to frustration, it may lead to decreased productivity in a company or organisation.
Usability issues: The user interface may be less user friendly because there was no user testing, leading to increased training, support costs, and more frustration
1.2.11
Discuss the social and ethical issues associated with the introduction of new IT systems
- Firing workers because computer system can do the same job cheaper
- It is imperative that the system is properly tested. Rushing the production of a system may have bad consequences which impact the end users. Over-promising and under-delivering on what the users paid for / demanded is unethical.
- Producers of computer systems have a moral imperative to ensure it is secure (e.g. personal data remains confidential)
- Ethical use of AI (ensure that the AI used does not have biases from biased training data, and it does not use personal data as training data without consent)