Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a58277c
[logseq-plugin-git:commit] 2023-11-04T01:58:13.896Z
mutable-learning Nov 4, 2023
4184907
[logseq-plugin-git:commit] 2023-11-04T02:11:36.611Z
mutable-learning Nov 4, 2023
495bc5b
[logseq-plugin-git:commit] 2023-11-04T02:25:07.928Z
mutable-learning Nov 4, 2023
ec567f2
[logseq-plugin-git:commit] 2023-11-04T02:30:52.230Z
mutable-learning Nov 4, 2023
a32bf9c
[logseq-plugin-git:commit] 2023-11-04T02:37:26.740Z
mutable-learning Nov 4, 2023
53d8474
[logseq-plugin-git:commit] 2023-11-04T02:46:33.232Z
mutable-learning Nov 4, 2023
3ec4145
[logseq-plugin-git:commit] 2023-11-04T02:53:58.033Z
mutable-learning Nov 4, 2023
5eac823
[logseq-plugin-git:commit] 2023-11-06T00:41:45.531Z
mutable-learning Nov 6, 2023
ece8baa
[logseq-plugin-git:commit] 2023-11-06T00:54:08.064Z
mutable-learning Nov 6, 2023
ff493e7
[logseq-plugin-git:commit] 2023-11-06T00:58:49.523Z
mutable-learning Nov 6, 2023
3fdc1b1
[logseq-plugin-git:commit] 2023-11-06T01:11:34.138Z
mutable-learning Nov 6, 2023
f192016
[logseq-plugin-git:commit] 2023-11-06T02:01:03.395Z
mutable-learning Nov 6, 2023
346dad6
[logseq-plugin-git:commit] 2023-11-06T02:14:32.579Z
mutable-learning Nov 6, 2023
88c98c9
[logseq-plugin-git:commit] 2023-11-06T02:30:47.634Z
mutable-learning Nov 6, 2023
bc0987b
[logseq-plugin-git:commit] 2023-11-06T02:37:22.550Z
mutable-learning Nov 6, 2023
26df5ed
[logseq-plugin-git:commit] 2023-11-06T02:44:39.220Z
mutable-learning Nov 6, 2023
31abcef
[logseq-plugin-git:commit] 2023-11-06T02:56:06.487Z
mutable-learning Nov 6, 2023
3254e1b
[logseq-plugin-git:commit] 2023-11-06T03:09:28.687Z
mutable-learning Nov 6, 2023
ba04091
[logseq-plugin-git:commit] 2023-11-06T03:57:28.203Z
mutable-learning Nov 6, 2023
a0b4d77
[logseq-plugin-git:commit] 2023-11-06T04:05:15.011Z
mutable-learning Nov 6, 2023
c3e49bd
[logseq-plugin-git:commit] 2023-11-06T04:06:08.287Z
mutable-learning Nov 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions pages/Affordance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
tags:: Software Development
topic:: [[Design Factors]]
softdev:: Unit 3 Outcome 2

-
- is the ability of a user interface element to communicate how it can be used
- is a relationship between the user and the interface
- based on the user's prior experiences and expectations
- a button affords being clicked, a text field affords being typed in
- an important part of user-friendly software design
- can be thought of as how intuitive the solution is to use
- Affordance principles
- Visible
- using clear and concise labels, as well as visual cues such as color and shape to indicate how interface elements can be used
- Feedback
- should provide feedback to users when they interact with them
- changing the appearance of the interface element to indicate that it has been activated, or providing a sound or vibration cue
- Consistency
- should be consistent throughout the interface
- using the same visual cues and feedback mechanisms for similar interface elements
47 changes: 47 additions & 0 deletions pages/Brainstorming.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
tags:: Software Development
topic:: [[Design Ideas]]
softdev:: Unit 3 Outcome 2

-
- a great way to generate [[Design Ideas]]
- a structured way to capture and explore ideas with a team
- can help to spark creativity and innovation
- Brainstorming steps
- define the challenge
logseq.order-list-type:: number
- what are you trying to achieve
- what do the users need
- what are the constraints
- set a goal
logseq.order-list-type:: number
- how many ideas do you want to generate
- are there any types of ideas you want to focus on
- assemble participants
logseq.order-list-type:: number
- diverse participants can lead to more creative and varied ideas
- positive focus
logseq.order-list-type:: number
- there is no 'bad' or 'crazy' idea
- share everything and encourage participation
- follow simple rules
logseq.order-list-type:: number
- defer judgement
logseq.order-list-type:: number
- don't criticise or evaluate ideas until the end
- encourage wild ideas
logseq.order-list-type:: number
- be creative and original
- build on other ideas
logseq.order-list-type:: number
- combine or improve on ideas
- stay focussed
logseq.order-list-type:: number
- avoid going on tangents or getting stuck on one part of the problem
- capture all ideas
logseq.order-list-type:: number
- make it easy to record everything
- organise and evaluate ideas
logseq.order-list-type:: number
- consider the feasibility, desirability and viability of each idea
- select the best ideas
logseq.order-list-type:: number
18 changes: 18 additions & 0 deletions pages/Design Factors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
tags:: Software Development
topic:: [[Design Skills]]
softdev:: Unit 3 Outcome 2

-
- any solution design will be shaped and impacted by factors that must be accounted for as part of the [[Solution Design]]
- [[Design Ideas]] should take these into account
- functional factors influence software design by shaping the architecture requirements of the system
- non-functional factors influence design decisions at all levels of the solution
- Factors include
- [[Affordance]]
- [[Interoperability]]
- [[Marketability]]
- [[Security]]
- [[Usability]]
- other factors can relate to areas such as Reliability, Maintainability, Scalability and more
- these factors are often interrelated and the influence or importance of them can change over time
- designs need to be flexible and able to adapt as the design factors' influence changes
25 changes: 25 additions & 0 deletions pages/Design Ideas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
tags:: Software Development
topic:: [[Design Skills]]
softdev:: Unit 3 Outcome 2

-
- requires both a creative and a logical approach using more of an exploratory mindset and less of a fixed mindset
- aiming to develop an [[Effective Solution]] and an [[Efficient Solution]]
- remember that you are trying to come up with innovative and creative solutions to problem, need or opportunity that users have
- generating Design Ideas
- start by understanding the needs of the users
- What are their goals? What problems are they trying to solve? What are their pain points?
- knowing these, you can start to brainstorm ideas for how to design software that meets their needs
- look for inspiration
- likes and dislikes about the design of other software products
- features they have that you would like to see in your own software product
- use design thinking tools
- [[Brainstorming]]
- [[Mind Mapping]]
- [[User Personas]]
- [[Graphic Organisers]]
- collaborate with others
- test your ideas with users
- it is important to test design ideas with users to get their feedback
- help identify any usability problems and make sure that designs meet the needs of users
- focus on [[Design Factors]] and how they will influence meeting the system requirements outlined in the [[SRS]]
4 changes: 2 additions & 2 deletions pages/Design Stage.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ softdev:: Unit 3 Outcome 2
- [[Pseudocode]]
- [[Context Diagram]]
- [[Data Flow Diagram]]
- design the visual components of the solution including the [[User Interface]] and any reports or graphical representations of data
- use tools to help explore and refine the [[Solution Design]]
- design the visual components of the solution including the [[User Experience]] and the [[User Interface]] and any reports or graphical representations of data
- use tools to help explore and refine the [[Solution Design]] from various [[Design Ideas]]
- [[Storyboard]]
- [[Site Map]]
- [[Structure Chart]]
Expand Down
40 changes: 40 additions & 0 deletions pages/Effective Solution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
tags:: Software Development
topic:: [[Evaluation Criteria]]
softdev:: Unit 3 Outcome 2

-
- how well a solution achieves its results
- measures the quality of the solution
- can be improved often at the expense of an [[Efficient Solution]]
- Effectiveness Measures
- Completeness
- complete [[Functional Requirements]] and [[Non-functional Requirements]]
- Readability
- is every part easily read by users
- styling and font concerns
- Attractiveness
- styling and UI appealing to users
- Clarity
- age-appropriate language used
- consistent use of language
- Functionality
- are user input errors handled well
- is uptime acceptable
- Accuracy
- is the data stored or used the same as entered before processing
- do all calculations return correctly
- do reports show correct data
- Accessibility
- is it available to users with a disability
- Timeliness
- is there any lag in use
- is data available when needed within the system
- Report Formats
- are the reports appropriate for the needs of the users viewing them
- Relevance
- is the information produced by the system relevant to the users who use it
- Usability
- is the system easy to use
- do error rates show parts that are more prone to user error
- Communication of Message
- are cultural, language and region-specific aspects used correctly
16 changes: 16 additions & 0 deletions pages/Efficient Solution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
tags:: Software Development
topic:: [[Evaluation Criteria]]
softdev:: Unit 3 Outcome 2

-
- is measured by how much of each of these is used to achieve the result
- time
- cost
- effort
- Efficiency Measures
- speed of processing
- cost of file manipulation
- number of developers required
- cost of equipment
- often competes with making an [[Effective Solution]] and is a balancing act between the two
- involves quantitative measures that can easily be analysed
15 changes: 15 additions & 0 deletions pages/Evaluation Criteria.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
tags:: Software Development
topic:: [[Design Skills]]
softdev:: Unit 3 Outcome 2

-
- determine measures to see how well the solution or design has met its requirements
- [[Functional Requirements]] and [[Non-functional Requirements]]
- each design idea is evaluated against these criteria
- should include consideration of the [[Solution Scope]], [[Solution Constraints]] and the [[Solution Requirements]]
- criteria are created to evaluate if the design and solution will be an [[Efficient Solution]] and an [[Effective Solution]]
- a table format is commonly used
- each criteria is listed in a row
- designs can be added as columns
- the designs that meet the criteria are easily visible
- the solution can be evaluated against these again after it has been in use for a period of time
21 changes: 21 additions & 0 deletions pages/Graphic Organisers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
tags:: Software Development
topic:: [[Design Ideas]]
softdev:: Unit 3 Outcome 2

-
- there are many different tools that can be used to graphically help represent ideas and concepts when creating [[Design Ideas]]
- Concept Maps
- similar to mind maps
- more focused on showing the relationships between different concepts
- Flowcharts
- map out the steps in a process
- can be used to generate ideas for new features or functionality for a software product
- Decision Trees
- used to visualize the different possible outcomes of a decision
- can be used to generate ideas for different ways to implement a feature or functionality
- Affinity Diagrams
- used to group related ideas together
- can be used to generate ideas for new features or functionality, or to organise existing ideas
- User Journey Maps
- are visual representations of the steps that a user takes to achieve a goal
- can be used to identify opportunities for improvement and to generate ideas
23 changes: 23 additions & 0 deletions pages/IPO Chart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
tags:: Software Development
alias:: Input Process Output Chart
topic:: [[Solution Design]]
softdev:: Unit 3 Outcome 2

-
- a visual representation of the inputs, processes, and outputs of a system
- focus on
- being simple to read and understand
- being flexible to work for any problem
- being accurate in identifying parts of the system
- being complete and modelling all required parts
- |**Input** | **Process** | **Output**|
|------- | -------- | --------|
|Customer order | Process order, fulfill order, ship order | Processed order, shipped order|
- ![IPO chart](https://i.ytimg.com/vi/a10a11oxjrA/maxresdefault.jpg)
-
- Further Research
background-color:: purple
- Read
- [Understand how to create effective Input Process Output tables - Software Design and Development](https://ryanstutorials.net/software-design-and-development/input-process-output.php)
- Watch
- {{video https://www.youtube.com/watch?v=a10a11oxjrA}}
19 changes: 19 additions & 0 deletions pages/Interoperability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
tags:: Software Development
topic:: [[Design Factors]]
softdev:: Unit 3 Outcome 2

-
- is the ability of two or more software systems to exchange data and work together seamlessly
- is an important design factor for software systems that need to interact with other systems
- such as enterprise systems, cloud services, and mobile devices
- different levels of interoperability
- Data interoperability
- systems exchange data in a format that can be understood by both systems such as with [[XML file]], [[CSV file]] or [[Text file]] formats
- Functional interoperability
- systems work together to perform a specific task
- Behavioral interoperability
- systems interact with each other in a predictable and consistent way
- is complex and usually there is no simple solution, but some approaches to help can be
- use open standards
- provide well defined interfaces and APIs
- design for flexibility
11 changes: 11 additions & 0 deletions pages/Layout Diagram.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
tags:: Software Development
topic:: [[Solution Design]]
softdev:: Unit 3 Outcome 2

-
- a visual representation of the different components of a software system and their relationships to each other
- typically include
- the different components of the system
- the relationships between the components
- the flow of data between the components
- the user interface components
1 change: 1 addition & 0 deletions pages/Privacy Legislation.md → pages/Legislation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
tags:: Software Development
topic:: Privacy Legislation
softdev:: Unit 3 Outcome 2
title:: Legislation

-
- how security implications influence software solutions such as the idea of [[Data Protection]]
Expand Down
24 changes: 24 additions & 0 deletions pages/Marketability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
tags:: Software Development
topic:: [[Design Factors]]
softdev:: Unit 3 Outcome 2

-
- is the degree to which a software system is likely to be successful in the market
- is a design factor that should be considered when designing any software system
- is especially important for systems that are intended to be commercialised
- Marketability factors
- Value proposition
- should provide clear value to its target users
- can be in the form of increased productivity, reduced costs, or improved customer satisfaction
- Market fit
- should address a real need in the market
- there should be a sufficient number of potential users who are willing to pay for the system
- Competitive advantage
- should have a competitive advantage over other similar systems on the market
- could be in the form of unique features, lower pricing, or a better user experience
- Market positioning
- should be positioned in the market in a way that highlights its unique value proposition and competitive advantage
- Marketability influencing design
- designing to be compatible with popular mobile platforms, such as Android and iOS, is more marketable to a wider range of users
- designing to be easy to use and learn makes a system more marketable to users who are not technical experts
- designing to be secure and reliable makes a system more marketable to businesses and other organisations that need to protect their data
28 changes: 28 additions & 0 deletions pages/Mind Mapping.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
tags:: Software Development
topic:: [[Design Ideas]]
softdev:: Unit 3 Outcome 2

-
- a visual diagram that shows the relationships between different ideas
- Mind Mapping steps
- start with a clear and concise central topic
logseq.order-list-type:: number
- write down all the ideas that come to mind related to the central topic
logseq.order-list-type:: number
- draw branches off the central topic for each main idea
logseq.order-list-type:: number
- add sub-branches to each main branch for more specific ideas
logseq.order-list-type:: number
- continue expanding the map of ideas until you have captured all the ideas
logseq.order-list-type:: number
- use different colours, symbols and images to help with creativity and ease of understanding
- don't be afraid to edit and re-arrange the map as you go
- don't judge ideas as you go, be creative and imaginitive
- ![Mind Map - SDLC](https://www.gogeometry.com/software/software-development-mind-map-mapping.gif)
-
- Further Research
background-color:: purple
- Read
- [Mind map - Wikipedia](https://en.wikipedia.org/wiki/Mind_map)
- Watch
- {{video https://www.youtube.com/watch?v=pgwcqjdYSrg}}
18 changes: 18 additions & 0 deletions pages/Security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
tags:: Software Development
topic:: [[Design Factors]]
softdev:: Unit 3 Outcome 2

-
- consider and address security threats and risks early in the solution design
- is especially important for systems that handle sensitive data or that are critical to business operations
- Security approaches to design
- conduct threat modelling to identify potential threats and vulnerabilities
- implement best security practices in code such as using [[Validation Techniques]] and secure coding practices
- design to be resilient to attack, even if one occurs
- allowing for system monitoring and easy patching when attacks occur
- Security influencing design
- using encryption to protect sensitive data
- implementing authentication and authorisation mechanisms to control user access
- detecting and responding to security threats and incidents
- using secure transmission protocols
- sanitising all input to resist common attacks such as SQL injection and cross-site scripting
Loading