COMPUTER SCIENCE CAFÉ
  • WORKBOOKS
  • BLOCKY GAMES
  • GCSE
    • CAMBRIDGE GCSE
  • IB
  • A LEVEL
  • LEARN TO CODE
  • ROBOTICS ENGINEERING
  • MORE
    • CLASS PROJECTS
    • Classroom Discussions
    • Useful Links
    • SUBSCRIBE
    • ABOUT US
    • CONTACT US
    • PRIVACY POLICY
  • WORKBOOKS
  • BLOCKY GAMES
  • GCSE
    • CAMBRIDGE GCSE
  • IB
  • A LEVEL
  • LEARN TO CODE
  • ROBOTICS ENGINEERING
  • MORE
    • CLASS PROJECTS
    • Classroom Discussions
    • Useful Links
    • SUBSCRIBE
    • ABOUT US
    • CONTACT US
    • PRIVACY POLICY

SYSTEM FUNDAMENTALS | SYSTEM DESIGN

ON THIS PAGE
SECTION 1 | STAKE HOLDERS
SECTION 2 | METHODS OF OBTAINING REQUIREMENTS
​SECTION 3 | GATHERING INFORMATION
SECTION 4 | PROTOTYPING
SECTION 5 | ITERATING THROUGH THE SDLC
​SECTION 6 | END USER INVOLVEMENT
SECTION 7 | SOCIAL AND ETHICAL CONSIDERATIONS
SECTION 8 | FLOWCHARTS
SECTION 9 | DATA FLOW DIAGRAMS
SECTION 10 | STRUCTURE CHARTS

SECTION 11 | PROTOTYPES
SECTION 12 | INVOLVING END USERS
ALSO IN THIS TOPIC
PLANNING AND SYSTEM INSTALLATION

  USER FOCUS
SYSTEM BACKUP
 ​SOFTWARE DEPLOYMENT
 SYSTEM COMPONENTS
YOU ARE HERE | SYSTEM DESIGN
HUMAN COMPUTER INTERACTION
TOPIC 1 REVISION
KEY TERMINOLOGY
TOPIC 1 ANSWERS

Picture
SECTION 1 | STAKE HOLDERS
​Stakeholders in the planning of a new computer system can come from a variety of backgrounds and have a range of interests and concerns. Some examples of stakeholders include:
​
  • End-users: The individuals who will actually use the new system on a day-to-day basis. They will have specific requirements for the system's functionality, usability, and performance.
  • Business owners: The individuals or organizations that will benefit from the new system. They will have concerns about the system's ability to support their business goals and meet their operational needs.
  • IT department: The individuals responsible for implementing, maintaining, and supporting the new system. They will have concerns about the technical requirements of the system and the resources needed to deploy and maintain it.
  • Project team: The individuals responsible for planning, designing, and developing the new system. They will have concerns about the scope of the project, the timeline, and the budget.
  • Vendors: The individuals or organizations providing equipment, software, or services for the new system. They will have concerns about the technical specifications of the system and their ability to meet the project's requirements.
  • Regulators: The individuals or organizations responsible for ensuring that the new system complies with relevant regulations and standards. They will have concerns about the security and privacy of the system and the protection of sensitive data.
  • Customers: The individuals who will use the products or services offered by the business. They will have concerns about the reliability and quality of the new system and its ability to support their needs.

The stakeholders in a new computer system project can be diverse and have varying interests and concerns. It is important to consider all stakeholders when planning a new system to ensure that the project meets the needs of everyone involved and has the best chance of success.

The System Development Life Cycle (SDLC) is a structured approach to designing, developing, and deploying new systems. One of the key components of the SDLC is stakeholder analysis and management, which involves identifying the individuals or groups who have a vested interest in the outcome of the project and considering their needs and requirements throughout the planning and development process.

There are several reasons why considering stakeholders is important when planning a new system:
  • Aligning goals: By engaging with stakeholders and understanding their needs, the project team can ensure that the goals of the project align with the goals of the stakeholders. This can help to build support for the project and increase the chances of its success.
  • Better decision-making: By including stakeholders in the planning process, the project team can gain valuable insights into the needs and concerns of different groups, which can inform decision-making and help to avoid potential roadblocks.
  • Increased buy-in: When stakeholders feel that their needs and concerns have been taken into consideration, they are more likely to support the project and be invested in its success.
  • Improved communication: Engaging with stakeholders can help to improve communication and build relationships between the project team and different groups. This can help to reduce misunderstandings and minimize the risk of conflict.

Considering stakeholders is crucial to the success of a new system development project. It helps to align goals, inform decision-making, increase buy-in, and improve communication, all of which are critical to the success of the project.
SECTION 2 | METHODS OF OBTAINING REQUIREMENTS
There are several methods for obtaining requirements from stakeholders during the planning phase of a new system development project. These methods include:
  • Surveys: Surveys are a useful tool for gathering information from a large number of stakeholders in a relatively short amount of time. Surveys can be conducted online or in person, and can be designed to gather specific types of information, such as functional requirements or user preferences.
  • Interviews: Interviews are a more personal and interactive way of gathering information from stakeholders. They allow the project team to ask questions, probe for more information, and get a better understanding of the stakeholders' needs and requirements. Interviews can be conducted one-on-one or in small groups.
  • Direct observations: Direct observations involve observing stakeholders as they perform tasks related to the new system. This method can provide valuable insights into the way stakeholders currently perform their work, and can help the project team identify areas where the new system can improve their efficiency and effectiveness.
  • Focus groups: Focus groups are a form of group interview that involve a small number of stakeholders who are brought together to discuss and provide feedback on the new system. Focus groups can provide a collaborative and interactive forum for stakeholders to voice their opinions and requirements.
  • Workshops: Workshops are structured sessions where stakeholders and the project team work together to identify and prioritize requirements for the new system. Workshops can be a highly effective way of engaging stakeholders and ensuring that their needs are taken into consideration throughout the planning and development process.

There are several methods for obtaining requirements from stakeholders, including surveys, interviews, direct observations, focus groups, and workshops. The best method will depend on the specific needs and goals of the project, as well as the preferences and availability of the stakeholders.
SECTION 3 | GATHERING INFORMATION
Examining current systems, competing products, and organizational capabilities are important steps in the planning phase of a new system development project. These examinations can help to ensure that the new system meets the needs of the stakeholders and has the best chance of success.
​
  • Examining current systems: Examining the current systems in place can help to identify areas for improvement and provide valuable insights into the way that stakeholders currently perform their work. This information can be used to inform the design of the new system and ensure that it meets the needs of the stakeholders.
  • Competing products: Examining competing products can provide valuable information about the state of the market and the capabilities of similar systems. This can help the project team to identify best practices and innovative features that can be incorporated into the design of the new system.
  • Organizational capabilities: Examining the organizational capabilities of the business is important to ensure that the new system will be able to integrate effectively with existing systems and processes. This examination can help to identify any limitations or constraints that may impact the deployment and adoption of the new system, and can inform the design and development of the new system to ensure that it is well-suited to the needs of the organization.

Examining current systems, competing products, and organizational capabilities is a critical step in the planning phase of a new system development project. This examination can help to ensure that the new system meets the needs of the stakeholders, integrates effectively with existing systems and processes, and has the best chance of success.

The following methods of gathering information on current systems - questionnaires, interviews, direct observation, and reading documentation - are all effective in their own ways.
  • Questionnaires can be a useful way to gather information from a large number of stakeholders in a relatively short amount of time. They can be designed to gather specific types of information and can be conducted online or in person.
  • Interviews are a more personal and interactive way of gathering information from stakeholders. They allow the project team to ask questions, probe for more information, and get a better understanding of the stakeholders' needs and requirements. Interviews can be conducted one-on-one or in small groups.
  • Direct observation involves observing stakeholders as they perform tasks related to the current system. This method can provide valuable insights into the way stakeholders currently perform their work, and can help the project team identify areas where the new system can improve their efficiency and effectiveness. A drawback of this method can be the Hawthorne effect.
  • Reading documentation is a useful way to understand the technical details of the current system, including its architecture, components, and integration points. It can also help the project team to identify areas where the current system may be lacking and where improvements can be made.

Overall, using a combination of these methods can provide a more comprehensive understanding of the current system and its limitations. It is important for the project team to select the most appropriate methods for their specific needs and goals, and to involve stakeholders throughout the process to ensure that their needs and requirements are taken into consideration.
SECTION 4 | PROTOTYPING
Prototyping is the process of creating a preliminary version of a proposed system to demonstrate its functionality and design to the client. The purpose of prototypes is to provide a tangible representation of the proposed system, which can help to:
  • Improve communication: Prototypes can help to improve communication between the project team and the client by providing a visual representation of the proposed system. This can help to clarify any misunderstandings or ambiguities and ensure that both the project team and the client are on the same page.
  • Solicit feedback: Prototypes can be used to solicit feedback from the client and other stakeholders about the proposed system. This feedback can be used to make improvements to the system and ensure that it meets the needs of the stakeholders.
  • Validate assumptions: Prototyping can help to validate assumptions about the feasibility and usability of the proposed system. This can help to identify any potential issues early in the development process and prevent costly mistakes down the line.
  • Demonstrate functionality: Prototypes can demonstrate the functionality of the proposed system, allowing the client to see how it will work in practice. This can help to build confidence in the system and increase the chances of its successful adoption.
  • Accelerate development: Prototyping can help to accelerate the development process by allowing the project team to test and refine the system before investing significant resources in full-scale development.

The purpose of prototypes is to demonstrate the proposed system to the client and provide a tangible representation of its functionality and design. Prototyping can help to improve communication, solicit feedback, validate assumptions, demonstrate functionality, and accelerate development, all of which are critical to the success of the project.
SEC TION 5 | ITERATING THROUGH THE SDLC
Iteration is the process of repeating a sequence of steps to refine and improve a design. Iteration is an important part of the design process, as it allows the project team to refine the design and make improvements based on feedback and testing.

There are several reasons why iteration is important during the design process:
  • Improving quality: Iteration allows the project team to make gradual improvements to the design, which can help to increase its quality and effectiveness. Iteration can also help to identify and resolve any issues early in the development process, reducing the risk of costly mistakes down the line.
  • Responding to feedback: Iteration allows the project team to respond to feedback from stakeholders and make changes to the design based on that feedback. This can help to ensure that the design meets the needs of the stakeholders and has the best chance of success.
  • Building momentum: Iteration can help to build momentum and keep the project team motivated and engaged. By seeing their design improve over time, the project team can feel a sense of progress and accomplishment, which can help to maintain their focus and commitment to the project.
  • Encouraging creativity: Iteration can encourage creative problem-solving and encourage the project team to explore new ideas and approaches. This can help to identify innovative solutions and increase the chances of success for the project.
  • Reducing risk: Iteration can help to reduce the risk of failure by allowing the project team to test and refine their design before committing to full-scale development. This can help to identify and resolve any potential issues early in the development process and prevent costly mistakes down the line.

Iteration is an important part of the design process. It allows the project team to refine the design, respond to feedback, build momentum, encourage creativity, and reduce risk, all of which are critical to the success of the project.
SECTION 6 | END USER INVOLVEMENT
Failing to involve end-users in the design process can have several negative consequences, including:
  • Poor usability: End-users have a unique perspective on the way they perform their work and the tasks they need to complete. If they are not involved in the design process, the system may not be designed to meet their needs and may be difficult or inefficient to use.
  • Low adoption: If end-users are not involved in the design process, they may not feel a sense of ownership or investment in the system. This can lead to low adoption rates and reduced use of the system, which can impact its effectiveness and efficiency.
  • Resistance to change: If end-users are not involved in the design process, they may feel that their needs and concerns have been ignored. This can lead to resistance to change and a lack of buy-in from the end-users, which can make it more difficult to implement and support the new system.
  • Unmet requirements: End-users have a deep understanding of their work processes and requirements. If they are not involved in the design process, it can be difficult to ensure that their needs are being met. This can result in a system that does not meet their needs and is less effective and efficient than it could be.
  • Missed opportunities: End-users may have ideas and suggestions for how the system could be improved or enhanced. If they are not involved in the design process, these ideas and suggestions may be missed, and the system may not be as innovative or effective as it could be.

Failing to involve end-users in the design process can have serious consequences, including poor usability, low adoption, resistance to change, unmet requirements, and missed opportunities. It is important to engage end-users in the design process to ensure that their needs are taken into consideration and that the system meets their requirements and has the best chance of success.
SECTION 7 | SOCIAL AND ETHICAL CONSIDERATIONS
The introduction of new IT systems can raise a range of social and ethical issues, including:
  • Privacy: New IT systems often involve the collection, storage, and processing of personal data. This can raise concerns about privacy and the protection of personal information. There is a risk that personal data may be misused or disclosed without the individual's consent, which can have serious consequences for their privacy and security.
  • Employment and job displacement: The introduction of new IT systems can have a significant impact on employment and job displacement. Automated systems and artificial intelligence technologies can replace human workers, leading to job losses and a decline in the demand for certain types of work.
  • Digital divide: The introduction of new IT systems can create a digital divide, with those who have access to technology and the skills to use it having a significant advantage over those who do not. This can exacerbate existing social and economic inequalities and create barriers to opportunity.
  • Bias and discrimination: The algorithms used in new IT systems can perpetuate existing biases and discrimination. For example, facial recognition technology has been criticized for having a higher error rate for people with darker skin tones, which can result in discriminatory outcomes.
  • Cybersecurity: The introduction of new IT systems can increase the risk of cyber attacks and data breaches, which can have serious consequences for individuals, organizations, and governments. This can raise concerns about the security of personal information and the protection of sensitive data.

The introduction of new IT systems can raise a range of social and ethical issues, including privacy, employment and job displacement, the digital divide, bias and discrimination, and cybersecurity. It is important to consider these issues and to take steps to mitigate their impact and ensure that new IT systems are designed and deployed in a responsible and ethical manner.
Picture
1: Social and ethical issues associated with the introduction of new IT systems:
a. What are the most significant privacy concerns associated with the collection, storage, and processing of personal data in new IT systems?
b. How can organizations ensure that new IT systems do not perpetuate existing biases and discrimination?

2:Importance of involving end-users in the design process:
a. What are the consequences of failing to involve end-users in the design process?
b. Why is it important to engage end-users in the design process to ensure that their needs are taken into consideration?

3: Iteration during the design process:
a. What is the purpose of iteration during the design process?
b. How can iteration help to reduce the risk of failure and ensure the success of the project?

4: Examining current systems, competing products, and organizational capabilities:
a. Why is it important to examine current systems, competing products, and organizational capabilities when planning a new system?
b. How can these examinations inform the design and development of the new system?

5: Prototyping to demonstrate the proposed system to the client:
a. What are the benefits of using prototypes to demonstrate the proposed system to the client?
b. How can prototypes help to improve communication and solicit feedback during the design process?
Picture
SECTION 8 | FLOWCHARTS
Flowcharts are a diagram that represents a process. They trace the steps of the process and included decisions and branches that the process might take. They are frequently used in the design stage of a product and are a useful tool to document and represent how a process or algorithm should flow or work.

Flowcharts use different symbols to represent various actions, for example a diamond shape represents a decision in the process and will always have 2 possible outcomes which can be represented with YES or NO. whereas a parallelogram represents Data in flowchart. The image below shows many symbols that are used in flowcharts, however many of these are not used at GCSE, IB and A-level Computer Science. Commonly used symbols are discussed later.

Picture
Commonly used flowchart symbols in IB Computer Science
The video below from Cody Baldwin talks you through basic flowchart symbols and creating a flowchart for a given situation.
Here are some top tips for getting started with creating flowcharts:
​
Start Simple: Begin with a basic idea or process before adding details. Understand the start and end points of your flowchart first.
Use Consistent Shapes: Familiarize yourself with standard flowchart symbols:
  • Ovals for "Start" and "End".
  • Rectangles for processes or actions.
  • Diamonds for decision-making points.
  • Parallelograms for inputs or outputs.
  • Always use these symbols consistently.
Maintain Flow Direction: Typically, flowcharts flow from top to bottom or left to right. Keep a consistent direction unless there's a compelling reason not to.
Avoid Overcrowding: Ensure your flowchart is clear and easy to read. If it becomes too detailed or complex, consider breaking it into multiple flowcharts or using a sub-process symbol.
Use Arrows Wisely: Arrows guide the viewer and indicate the direction of flow. Make sure they don’t cross over each other too often, as this can make the chart confusing.
Label Clearly: Every shape and decision point should have clear, concise text. Avoid using jargon unless it's widely understood by your target audience.
Test Your Flowchart: Walk through your flowchart as if you're following the process or algorithm it represents. This will help you catch any logical errors or missing steps.
Use Colours: Different colours can represent different types of actions or highlight particular pathways through the flowchart. But use them sparingly and consistently!
Get Feedback: Sometimes you're too close to a project to see errors or ambiguities. Having another set of eyes review your flowchart can be invaluable.
SECTION 9 | DATA FLOW DIAGRAMS
Dataflow Diagrams (DFD) are a graphical representation of the "flow" of data through an information system. They provide a clear picture of how data is processed and where it moves from one entity or process to another. Here are some examples of the use of Data Flow Diagrams.

Visualization: DFDs allow for a visual representation of the system's components, making it easier to understand, especially for stakeholders without a technical background.
Identifying Redundancies: By visualizing the entire system, DFDs can help in pinpointing areas where unnecessary or repetitive processes exist.
System Analysis: They serve as a foundational tool for system and business analysts to understand, evaluate, and improve business processes.
Communication Tool: DFDs serve as a common platform for stakeholders, developers, and analysts to discuss and refine system functionalities.
Documentation: DFDs act as documentation of how the system works, which is invaluable for training, onboarding, or when making system upgrades.
Design & Planning: Before system development or redesigning processes, DFDs can be used to plan what needs to be done.
Highlighting Data Storage Points: DFDs can illustrate where data is stored, whether in files, databases, or other storage mediums.
Understanding Interactions: They demonstrate how different parts of a system interact with each other and with external entities.
Determining Scope: By focusing on data flow and boundaries, DFDs help in defining the scope of a system or a process under study.

Dataflow Diagrams are pivotal in capturing the logical structure of a system, focusing on how data travels and transforms within it, without detailing the physical implementation.
Picture
The diagram above shows an example DFD for a library book system, it shows the users, processes, output(printer) and the data storage.

In this library system example, users and librarians interact with various processes and data stores to manage book borrowing and returning. The "User" initiates interactions with the "User Registration," "Borrowing Process," and "Returning Process" entities to manage their account, borrow books, and return them, respectively, interacting with data stores like "User Data," "Borrowing Records," and "Return Records" to check, update, and store relevant data. Simultaneously, the "Librarian" manages the book details through the "Book Management" process, which interfaces with the "Book Database" data store to ensure accurate and up-to-date book information. Additionally, processes that handle borrowing and returning books also interact with a "Printer" entity for generating receipts or reports. Each entity, process, and data store is interconnected with directed arrows, signifying the flow of data between them, ensuring a systematic, organized, and efficient management of library resources and user activities.
SECTION 10 | STRUCTURE CHARTS
Structure charts, distinct from data flow diagrams, focus specifically on the modular structure of software. They provide a hierarchical breakdown of a software system, helping developers understand the relationships and interactions between different modules. Here's an explanation suitable for GCSE Computer Science:

Hierarchical Decomposition
Structure charts present software in a top-down manner. At the top, you have the main program, and branching out from there are its sub-procedures or modules. This hierarchy allows for a clear view of the software's overall architecture and its constituent parts.

Module Visualization
Software systems are often complex. Structure charts emphasize breaking a system into smaller, more manageable "modules." Each module represents a specific task or functionality within the software.

Understanding Interactions
Arrows and connectors in the chart showcase how different modules interact, communicate, or depend on each other. This helps developers understand the sequence of operations and the flow of data or control between modules.

Encouraging Modular Design
By visualizing software as distinct modules, structure charts promote modular programming. Modular design makes coding, testing, and debugging more efficient because developers can focus on one specific module at a time.

Facilitating Teamwork
In team projects, different developers can work on different modules simultaneously. A structure chart ensures that everyone understands where their piece fits into the larger puzzle.

Guiding Maintenance & Upgrades
Over time, software may need updates or fixes. A structure chart can help developers pinpoint where to make changes, ensuring that modifications to one module don't inadvertently disrupt another.

Documentation
Structure charts serve as a visual documentation of the software's design. This can be invaluable for onboarding new team members or for revisiting the software after a long interval.

Think of structure charts as blueprints for software. Just as architects use blueprints to plan and construct buildings, software developers use structure charts to design and build software systems. By laying out the software's structure, these charts make the development process more organized, clear, and efficient.
Picture
The example above represents a library booking system with the main system ("Book Library System") at the top. Branching out from the main system are its main modules like "User Registration", "Book Management", "Borrowing Process", and "Return Process".  Each of these main modules further breaks down into sub-procedures or sub-tasks, showcasing the hierarchical structure.
SECTION 11 | PROTOTYPES
Prototyping is the process of creating a preliminary version or model of a software application to simulate its functionality. Here's the purpose of prototyping in software design:
  • Visual Representation: Prototyping offers stakeholders a visual and tangible representation of the application, allowing them to understand its design, functionality, and flow.
  • Feedback Gathering: By interacting with the prototype, users, developers, and stakeholders can provide feedback early in the development process. This helps identify any changes or enhancements needed.
  • Reducing Risks: Early detection of design flaws or misunderstandings in requirements can save time, reduce costs, and decrease the risks of project failures.
  • Clarifying Requirements: Prototyping can help in situations where requirements are unclear or incomplete. Seeing a working model can help stakeholders better articulate what they want.
  • User-Centered Design: Prototypes allow designers to test and refine the user experience, ensuring that the final product is user-friendly and meets user needs.
  • Cost-Efficient: By addressing issues early on, the development process becomes more streamlined, potentially reducing the overall development time and costs.
  • Facilitate Communication: A visual prototype can bridge the communication gap between technical developers and non-technical stakeholders, ensuring everyone is on the same page.

Prototyping in software design serves as a valuable tool to visualize, test, refine, and communicate ideas before the full-scale development of the application, ensuring a better-aligned and efficient outcome.
SECTION 12 | INVOLVING END USERS
Involving end users throughout the Software Development Life Cycle (SDLC) is critical for the following reasons:
  • Ensuring Relevance: End users provide a real-world perspective on what the software needs to achieve. Their involvement ensures that the software meets actual requirements and is not built based on assumed needs.
  • Improved Usability: Direct input from end users can guide developers in creating more intuitive and user-friendly interfaces, leading to software that's easier to adopt and navigate.
  • Early Detection of Issues: Users can identify problems or misconceptions early in the development phase, reducing the cost and time of making corrections later on.
  • Increased Acceptance: When users are involved in the design and decision-making processes, they're more likely to feel ownership of the product and champion its adoption within the organization.
  • Reduction in Training Costs: Software designed with the input of its users is likely to be more intuitive, reducing the need for extensive training when it's rolled out. 
  • Effective Feedback Loop: Regular feedback from end users during development stages means that adjustments can be made iteratively, ensuring the final product is better aligned with user expectations.
  • Stakeholder Satisfaction: Involving end users can increase satisfaction among stakeholders, as the software is more likely to meet organizational needs and receive positive reception from its intended audience.

Involving end users in the SDLC ensures that software is not only technically sound but also genuinely useful, user-friendly, and well-received by its intended audience. It places the user at the center of software development, leading to more successful and impactful software solutions.
Picture
 CHALLENGE | Health Tracker Application
SCENARIO
You are a system analyst for FitLife Tech, a company specializing in developing health and wellness applications. The company is in the process of developing a new mobile application called "HealthHub" which will allow users to track their daily activities, nutrition intake, and provide health insights and recommendations. You're tasked with creating visual representations of how the system will handle and process user data.

The system should enable the following functionalities:
User Profile Management
  • Allow new users to register and create profiles, and existing users to login.
  • Permit users to update their profile with health data like age, weight, and fitness goals.

Activity Tracking
  • Enable users to log various physical activities (e.g., walking, running, cycling) along with duration.
  • Display a summary of total activities and calories burned.

Nutrition Tracking
  • Permit users to log their daily food and beverage intake.
  • Provide a summary of nutrient intake against recommended daily allowances.

Health Insights
  • Generate health insights based on the user's activity and nutrition data.
  • Provide recommendations for meals and exercises.
  • Reminders and Notifications:
  • Allow users to set reminders for meals, workouts, and health checkups.
  • Send notifications for achieving milestones and reminders.

TASKS

1: Create a Flowchart
Develop a flowchart detailing the process from user registration, data logging (activity and nutrition), to generating and displaying health insights. Ensure to represent decision points and alternative paths, such as invalid login credentials or incomplete data entries.

2: Create a Data Flow Diagram (DFD)
Create a DFD to demonstrate how data moves within the system, from user inputs (like logging food intake) to system outputs (like displaying nutritional summaries). Define processes like “Analyze Nutrition Data”, “Calculate Calories Burned”, and “Generate Health Insight”, and identify data stores like "User Profiles" and "Activity Logs".

3: Create a Structure Chart
Develop a structure chart illustrating the hierarchical organization of system modules (e.g., User Profile Management, Activity Tracking, Nutrition Tracking, etc.) and their interconnections, focusing on data control and flow between different modules.

Note: Ensure to account for potential errors or exceptions, like inaccurate data input, failure to generate insights due to insufficient data, and misconfigured reminders in your design. Ensure adherence to recognized symbols and notation for each diagram type.
Picture
ALSO IN THIS TOPIC
PLANNING AND SYSTEM INSTALLATION
USER FOCUS
SYSTEM BACKUP
SOFTWARE DEPLOYMENT
SYSTEM COMPONENTS
SYSTEM DESIGN
HUMAN COMPUTER INTERACTION
TOPIC 1 REVISION
KEY TERMINOLOGY
​
TOPIC 1 ANSWERS
Picture
SUGGESTIONS
We would love to hear from you
SUBSCRIBE 
To enjoy more benefits
We hope you find this site useful. If you notice any errors or would like to contribute material then please contact us.