9.1.1 Social and ethical issues Flashcards
Identify some issues associated with the impact of software.
- Cybersafety - cyberbullying, grooming, cyberstalking, identity theft.
- Accuracy of information - bias, misinformation, timeliness of information.
- Social networks - similar issues to cybersafety and accuracy of information.
What was the Year 2000 problem?
The Y2K, or millennium bug, was a computer problem that was caused by programmers storing a year as 2 digits instead of 4. It is a classic case of an inappropriate data structure being used. Decades before the year 2000, developers needed to save space wherever possible, and few would have believed that their code would have still been in use.
List and describe different types of computer malware.
- Virus - Attaches to an executable file, requires human interaction to spread.
- Worm - Can replicate itself without human interaction.
- Trojan - Appears as a useful program but damages system.
- Spyware - Gathers and transmits information without a users consent.
- Adware - Not necessarily malicious, presents advertising to users to generate revenue.
- Rootkit - Enables access to a low level of an operating system. Often masks itself.
- Ransomware - Holds user data ‘hostage’ (or threatens to reveal it) unless payment is made.
What are some factors that affect software quality from a user’s perspective?
- Accuracy- does it do what it is supposed to do?
- Reliability - does it do it all of the time?
- Efficiency - does it do it in the best way possible?
- Security - does it store users information security and protect from malware?
- Usability - is it easy and intuitive to use?
What are some factors that affect software quality from a developer’s perspective?
- Maintainability - is it easy to modify/update?
- Testability - can it be tested thoroughly?
- Portability - can it be used in other environments (hardware, OS, etc)?
- Reusability - can it be used in another project?
What are the 3 most common constraints of a software project that affect its quality?
- Time and Money - most projects will have a set timeframe in which to be completed and a set budget, so some desirable features may not be able to be implemented or not implemented as well as they could have, reducing the overall quality.
- Expertise - not all projects will have the most qualified or experienced developers.
Outline 4 external factors that affect software quality.
- Hardware - processor speed, storage, RAM.
- Operating system - file access, user interface elements.
- Other software - might use shared resources, or interfere with the operation of the application.
- Run time errors - should be dealt with gracefully.
List 7 important responsibilities of developers when they produce software solutions.
- Producing quality software solutions.
- Acknowleding the intellectual property of others
- Appropriately responding to user-identified problems
- Neither generating nor transmitting malware
- Addressing ergonomic issues in software design
- Ensuring software addresses inclusivity issues
- Ensuring individuals’ privacy is not compromised
How can software developers design code that addresses ergonomic issues?
Ergonomics refers to the interaction between users and their work environment.
Software developers can do this by ensuring software exhibits reasonable response times and that the user interface is intuitive and consistent in design. Additionally, screen elements such as buttons and check boxes should follow recognised usages.
What are some inclusivity issues that developers should be aware of when creating code?
- Culture (eg format of dates, language)
- Economic (eg pricing vs quality)
- Gender
- Disability
How can software developers address privacy issues?
By having a well-documented privacy policy the clearly explains how the uesr’s personal information amy be used, and that adheres to the relevant legal requirements (e.g. in Australia, the Privacy Act)
How can software developers design code that addresses security issues?
- By securing user passwords. If passwords are run through a hashing algorithm and the hash is stored, then the original cannot be read by anyone within the company or by potential hackers.
- By using proper security on their own systems, personal information is less likely to be compromised by hackers.
How can developers appropriately respond to user-identified problems?
By facilitating the reporting of problems. For example, through an online “bug report” form (or from within the app), or a “send crash report” facility if the application crashes.
When software upates are released, the “release notes” should detail any changes and bug fixes.
A webpage of known issues and potential workarounds for users could also be maintained.
What is a code of conduct?
A set of guidelines outlining the responsibilities and proper practices for an organisation, with consideration given to the values of the organisation, the clients worked with and the product or service provided.
Why do organisations and professional groups have and maintain a code of conduct?
It clarifies an organisation’s mission, values and principles, linking them with standards of professional conduct and the quality of the product or service provided.