Short Notes to Memorise (W1-8)
Professionalism in Practice
Royal Charters: a formal document signed by the monarch for organizations with public interest objectives
Professional Conduct: 4 aspects
Aspect | What is it | Examples |
Public Interest | Comply with laws and regulations acting in public interest, respect rights of third parties and copyright, conduct professional activities without discrimination and promote equal access to IT | Digital Exclusion: number of Internet non-users decreasing over time |
Professional Competence and Integrity | Being familiar with legislation and do project work with competence | Faliure of London Ambulance Service’s Computer Aided Dispact System (CAD) |
Duty to Relevant Authority | Carry out duties with care and dilligence according to authority’s requirements | To not disclose confidential info without permision and withholding info |
Duty to Profession | Uphold reputation of profession in general, support collegues and take responsibility | - |
ACM Code of Ethics and Professional Conduct: states what computing professionals should do
System Development Lifecycle
Systems Development Lifecycle (SDLC): process of determining how system can support business needs, designing, building, and delivering to users
Stages of SDLC: Planning, Analysis, Design, Implementation (PADI)
Stages | Purpose and Activities | Output | Example |
Planning | P: Understand why system should be developed, create plan for development and delivery A: Feasibility analysis (technical, economic, organizational), Cost-benefit analysis | Goals for new system and work plan | LUSI: Lancaster Uni Student Information record system, streamlines administrative processes and providing info |
Analysis | P: Understanding who will use system, what it does, when and where it’s used A: PACT (People, Activities, Context, Tech) | Answering all 5 W’s | Library: Applying PACT People = consider staff and students as users Activities = return book, pay fines, take book Context = potential busy library environment Tech = database for books |
Design | P: Determine overall system architecture that satisfy system essential requirements A: Design of architecture and interface, databse and UI | System specification | - |
Implementation | P: Build and test system, along with planning for installation and support A: Testing system, support plan, different tests (Unit, acceptance, user) | Tests completed | - |
Waterfall Development: linear approach where each phase completed before next one
Pros: good for high security systems, easy task arrangement as 1 phase at a time
Cons: time-consuming, inflexible, no software until end
Rapid Application Development: focus on rapid development and delivery
e.g. throwaway prototyping, iterative development
Pros: cheaper and easier, earlier user feedback, quicker delivery of software
Cons: planning hard, less documentation, hard to scale for large systems
Requirements
Business requirement: represent overall goals of project
User requirement: define what users need from system
Functional requirement: specify what software should do and what info it needs to provide
e.g. “system must allow users to see previous 3 years order history, system must retain order info for 3 years”
Non-functional requirements: describe characteristics system should possess, focussing on how functionality operates
3 types:
Product requirement: how product behaves (e.g. execution speed)
Organisational requirement: policies and procedures (e.g. process standards)
External requirement: e.g. legislative requirements
e.g. “it should take no longer than 2 seconds for user to get conformation for order, user must log in to password-protected area to gain order history”
System requirement: detail how system should be built
Requirements gathering: understanding what user wants or needs, and constraints
Methods include:
Questionnaires: scalable but no insight
Interviews: in-depth but time-consuming and biases
Observations: observe actual behaviours but time-consuming
Workshops: insights from multiple people at once but social desirability bias
Requirement validation: ensure users understand and agree that specification accurately reflects their needs
(“are we building the right system?”)
Requirement verification: check if requirements are correct
(“are we building it right?”)
Understanding Users
Human-Computer Interaction (HCI): studying user interaction to improve usability
User Experience (UX) design: enhancing overall user satisfaction and ease of use
Techniques for considering users: scenarios and personas
Scenarios | Stories describing how users interact with system, helps designers imagine usage and find problems |
Personas | Fictional “character protraits” representing typical users based on real data, to understand different user types and their needs |
Usability: ensuring that interactive products are easy to learn, use and enjoyable from user’s perspective
Nielsen’s Usability Engineering (1993): designing products that are easy and enjoyable to use by testing often, fixing problems fast and keeping real users in mind
Nielsen’s Usability Characteristics: Learnability, Efficiency, Memorability, Errors and Safety, Satisfaction (LEMES)
Characteristic | What is it |
Leanability | System should be easy to learn and have reasonable learning curve |
Efficiency | System should be efficient to use and make user productive after learning it |
Memorability | System should be easy to remember how to use, even after break |
Errors and Safety | Users should make few errors, and if errors occur, they should be easy to recover from |
Satisfaction | System should be pleasent and enjoyable to use |
Evaluating Usability:
Expert evaluation: assessing system using guidelines or heuristics
Heuristic evaluation: experts check against usability principles
Walkthroughs: experts simulate user interactions
Standards/Guideline Checklists: review compliance
User evaluation: involves actual users
Observations, interviews etc.
Nielsen’s Usability Heuristics:
Simple and natural dialogue on interfaces
Speak the user’s language, use simple terms
Consistency with actions having same effect
Feedback to users about their actions
Shortcuts for experienced users
etc…
Pros: quick, inexpensive, fast feedback, few ethical concerns
Cons: requires trained experts, may miss big issues when finding small issues
Dark patterns: deceptive UI design features that mislead sers into making bad choices, by exploiting human weaknesses for service provider’s benefit
e.g. easy to subscribe to model but hard to exit, user see low price buut presented with higher price, user sharing more personal info than intended
Accessibility
Digital accessibility: designing systems with disabled people in mind so they can interact with it similarly to others, regardless of physical or mental ability
Social Model: asserts that disability is caused by societal organization, promoting independence, choice and control
Medical Model: people are disabled due to impairments or differences, can lose independence, choice and control
W5H
Who using it?
What they doing?
Where they do it?
When they do it?
Why they do it?
How they do it?
Web Content Accessibility Guidelines (WCAG): provides technical standard for making web content more accessible to people with disabilities
Web Accessibility Principles: Perceivable, Operable, Understandable, Robust (POUR)
Principle | What is it | Example |
Perceivable | Users must be able to percieve all essential on-screen info through multiple senses | Adding text alternatives for images, captions for videos |
Operable | Users must be able to operate digital product’s interface with ease | Adding keyboard and touchscreen support, or giving users ample time to complete forms |
Understandable | USers must understand info and operation of user interface | Writing simply, predictable navigation, and clear error messages |
Robust | Product must support assistive tech | Testing keyboard-only navigation or ensuring functionality regardless of screen size |
Solving Problems
Design ethnography: method that involves studying people in natural environment, earliest step in development lifecycle
Involves the usual stuff (observations. interviews etc.)
Having diverse number of personas and scenarios
e.g. wireless yoga mat: more experienced yoga people want more complex features, but less experienced yoga people want less complex features
Participatory design: using users or participants to test products (or use personas or scenarios)
e.g. children using micro:bit: we can highlight concerns involving products
Risk Mitigation Checklist: 4 risk zones, Authority and Discipline, Malevolence and Accidental Harm, Emotionality and Socialisation, Governance and Accounting
Risk Zone | What is it |
Authority and Discipline | Will tech undermine authority? What might children be able to do? Does it allow child to escape punishment? |
Malevolence and Accidental Harm | What data or tech be produced by bad people? What does it look like if user takes it too far? What are unknowing or knowing risks to children? |
Emotionality and Socialisation | Does it appeal to vulnerable children? Does it isolate them? |
Governance and Accounting | Will people be producing content that extends the original functionality? What tools would users interact with aa part of normal use of the tech? Is the info presented in a way that promotes informed consent? |
Value-sensitive design: Designing a system that takes human values into account throughout the design process,
e.g. mental health tracker: symptom tracking to help and support a user’s wellbeing, or creating services that people can easily pick up and use, or designing the app to be easy to use, as well as being relaxing and soothing for the user to use
Humble AI concept: promoting fairness and ensuring trustworthy people aren’t unfairly distributed
Principle of Skepticism: assume AI is missing info for decision making, so seek additional data to reduce errors
Principle of Curiosity: learn from borderline cases by testing different decisions, so it refines decisions and makes AI more accurate
Intellectual Property, Software Protection, Limiting Liability
Intellectual property: any unique product that has commercial value
Intellectual Property Rights (IPR): gives authors/inventors exclusive rights for a finite time, includes:
Copyright: governed by Copyright, Design and Patents Act 1988 (CDPA), owner has exclusive rights
Patents: protection for new inventions, full process required
Law of confidence: protects info like trade secrets or lists, used when idea not made yet
Design rights
Trademarks
Digital Rights Management (DRM): access control mechanism used to restrict medium usage
Digital Economy Act 2017: internet piracy set to 10 years, modifies CDPA
Shareware: giving out free software so people would pay for an upgrade or donate
Professional Conduct, Legal Frameworks and Best Practice
Data Protection Act (DPA): protects personal information from being misused by companies, organisations or government, lasted until 2018
General Data Protection Act (GDPR): expanded rights for data subjects, including Right to be Forgotten and stricter obligations for organizations, 2018 onwards
British Airways didn’t comply with GDPR, fined £183 million
Ai systems can exhibit bias
e.g. Amazon’s hiring tool penalizing CVs with word “women”
Facial recognition tools can target people of colour
BCS Code of Conduct emphasizes caring for wellbeing of others and potential harm from created systems