Illustrate system requirements: Difference between revisions

From Computer Science Wiki
No edit summary
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[file:system_fund.png|right|frame|System Fundamentals<ref>http://www.flaticon.com/</ref>]]
[[file:system_fund.png|right|frame|System Fundamentals<ref>http://www.flaticon.com/</ref>]]


Once you understand what a user wants (their '''requirements'''), you must research a solution. This page describes different techniques you might use to research a suitable system. These research techniques should be used in conjunction with each other. Please don't use one single method for finding a suitable system.  
Once you have understood and chosen a system, you must diagram how the system works. This works prevents problems in the future by ensuring you understand all inputs and outputs, AND how a system is organized.  


=== About system requirements ===
There are several ways to represent system requirements, including:


Once you have selected a system you should map how the system will interface with other systems in the organization, how data will flow into and out of the system (the inputs and outputs), and how the system is organized. We use the three techniques below to understand this.
# [https://www.indeed.com/career-advice/career-development/list-of-use-cases-examples Use Cases]: A use case is a description of a system's behavior as it responds to a request from one of its users. Use cases can be used to represent the functional requirements of a system.
# [https://www.productplan.com/glossary/user-story/ User Stories]: A user story is a short, simple description of a feature written from the perspective of the user. User stories can be used to represent both functional and non-functional requirements of a system.
# [https://krazytech.com/projects/sample-software-requirements-specificationsrs-report-airline-database Requirements Specification]: A requirements specification is a detailed document that describes the requirements for a system. It can include functional and non-functional requirements, as well as constraints, assumptions, and dependencies.
# [https://www.guru99.com/traceability-matrix.html Requirements Traceability Matrix]: A requirements traceability matrix is a table that shows the relationships between different requirements in a system. It can be used to track the progress of the development of a system and ensure that all requirements have been addressed.
# [[Prototypes]]: Prototypes are simplified versions of a system that are used to test and refine the requirements. Prototypes can be used to represent both functional and non-functional requirements.
# [https://www.zenflowchart.com/guides/system-flowchart Flowcharts]: Flowcharts are diagrams that show the steps in a process. They can be used to represent the logic and flow of a system, and can be useful in representing functional requirements.


{| style="width: 95%;" class="wikitable"
|-
| '''Method''' || '''Example''' || '''Definition'''
|-
| system flow charts || [http://www.bbc.co.uk/staticarchive/4b3844943eca148db5a51dc534c6fb4ac43e1798.gif click here for example] || A Structure Chart (SC) in software engineering and organizational theory, is a chart which shows the breakdown of a system to its lowest manageable levels<ref>https://en.wikipedia.org/wiki/Structure_chart</ref>
|-
| data flow diagrams || [http://freestudentprojects.com/wp-content/uploads/2012/06/dfd.png click here for example] || A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system, modelling its process aspects. A DFD is often used as a preliminary step to create an overview of the system, which can later be elaborated.[2] DFDs can also be used for the visualization of data processing (structured design).<ref>https://en.wikipedia.org/wiki/Data_flow_diagram</ref>
|-
| structure chart || [https://en.wikipedia.org/wiki/Structure_chart#/media/File:CPT-Structured_Chart_Example.svg click here for example] || System flowcharts are a way of displaying how data flows in a system and how decisions are made to control events.<ref>http://www.bbc.co.uk/schools/gcsebitesize/ict/measurecontrol/2systemflowchartrev1.shtml</ref>
|}


== Real-world practical advice ==
== Real-world practical advice ==


I've seen a system administrator take a look at the requirements and choose exactly the wrong system. Please do your homework carefully when choosing a system.
This step is '''especially important''' when you are working with many different interdependent systems.


== Do you understand this material? ==
Please consider the following examples, and answer the questions:
=== Example 1 ===
This is a simple example:
A small business wants to plan a new system. The new system is a computer kiosk inside the store which allows customers to sign up for a email newsletter. If a customer signs up for a newsletter inside the store, they will get a 10% discount on their first purchase at the store. The owner hopes this 10% discount will be an incentive for customers to sign up for the email newsletter.  The business will then regularly  email the customers special offers and savings. The business owner expects to benefit from this system by having increased sales. The customers expect to benefit from this system by having access to special offers, to save money, and to see what is new and trendy at their store.
Question 1: Construct a suitable representations to illustrate system requirements
== Do you have an advanced understanding of this material? ==
=== Example 2 ===
This is a complex example:
A school of 900 students wants to plan a new system. The school hopes the new system is a secure web-based application which manages attendance data. The school administrators want to carefully track attendance for the students so it can identify when students have been absent for a customizable threshold. For example, the school might set a threshold of 5 absences within 30 days, which then automatically notifies the student, parent, and teacher there is a problem with attendance. The threshold might be 3 times within 10 days, or something like that. The system should keep track of attendance and tardies. The system should have customizable attendance codes. For example, "abscence for school trip", "excused abscence", "medical abscence" are all allowed abscence codes.
School administrators expect to benefit by having data about attendance so they can support students and parents to be in school. School administrators also expect to benefit by giving parents and students information about attendance (so parents can support their children to be in school). Finally, school adinistrators expect to benefit by using attendance data to apply for government funding (as they can prove how many students were in class on a specific day).
Parents expect to benefit by knowing when their children are in school or miss school. This way parents can support their children to be in school. Being in school is a '''shared value''' that the school hopes the parents share.
Students expect to benefit by understanding how many days of school of they have missed. The school expects students to have a strong "ownership of learning" and manage their attendance.
Question 1: Construct a suitable representations to illustrate system requirements


== Standards ==
== Standards ==
These standards are used from the IB Computer Science Subject Guide<ref>IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.</ref>


* Construct suitable representations to illustrate system requirements
* Construct suitable representations to illustrate system requirements

Latest revision as of 09:02, 7 November 2024

System Fundamentals[1]

Once you have understood and chosen a system, you must diagram how the system works. This works prevents problems in the future by ensuring you understand all inputs and outputs, AND how a system is organized.

There are several ways to represent system requirements, including:

  1. Use Cases: A use case is a description of a system's behavior as it responds to a request from one of its users. Use cases can be used to represent the functional requirements of a system.
  2. User Stories: A user story is a short, simple description of a feature written from the perspective of the user. User stories can be used to represent both functional and non-functional requirements of a system.
  3. Requirements Specification: A requirements specification is a detailed document that describes the requirements for a system. It can include functional and non-functional requirements, as well as constraints, assumptions, and dependencies.
  4. Requirements Traceability Matrix: A requirements traceability matrix is a table that shows the relationships between different requirements in a system. It can be used to track the progress of the development of a system and ensure that all requirements have been addressed.
  5. Prototypes: Prototypes are simplified versions of a system that are used to test and refine the requirements. Prototypes can be used to represent both functional and non-functional requirements.
  6. Flowcharts: Flowcharts are diagrams that show the steps in a process. They can be used to represent the logic and flow of a system, and can be useful in representing functional requirements.


Real-world practical advice[edit]

This step is especially important when you are working with many different interdependent systems.


Standards[edit]

These standards are used from the IB Computer Science Subject Guide[2]

  • Construct suitable representations to illustrate system requirements


References[edit]

  1. http://www.flaticon.com/
  2. IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.