Illustrate system requirements: Difference between revisions

From Computer Science Wiki
No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 3: Line 3:
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.  
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.  


A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task.
There are several ways to represent system requirements, including:


The flowchart shows the steps as boxes of various kinds, and their order by connecting the boxes with arrows. This diagrammatic representation illustrates a solution model to a given problem. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.<ref>https://en.wikipedia.org/wiki/Flowchart</ref>
# [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.mindtools.com/augmkip/flow-charts 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.


=== About system requirements ===
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://youtu.be/K-d7Wpru0Hs Please watch this video for a very basic introduction to flowcharts].
{| style="width: 95%;" class="wikitable"
|-
| '''Method''' || '''Example''' || '''Definition'''
|-
| system flow charts || [http://www.bbc.co.uk/staticarchive/4b3844943eca148db5a51dc534c6fb4ac43e1798.gif 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>
|-
| 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. DFDs can also be used for the visualization of data processing (structured design).<ref>https://en.wikipedia.org/wiki/Data_flow_diagram</ref>. Diagrams representing how information is moving through the system together with identifying all relevant inputs and outputs to the system. <ref>http://ib.compscihub.net/wp-content/uploads/2015/04/1.2.7.pdf</ref>
|-
| structure chart || [https://en.wikipedia.org/wiki/Structure_chart#/media/File:CPT-Structured_Chart_Example.svg 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>
|}


== Real-world practical advice ==
== Real-world practical advice ==
Line 27: Line 17:
This step is '''especially important''' when you are working with many different interdependent systems.
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 07:32, 8 January 2023

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.