What is a Context Diagram?
Context diagrams are a necessary part of software design and engineering visually representing all the external entities that interact with the system. The diagram is simple and provides a top-level view of the entire system along with the inputs and outputs to and from the external factors. These diagrams are a vital part of software design representing the external entities that might interact with the discussed system. The diagram pictures the scenario as a whole with the system in the middle of the diagram (What is a Context Diagram “and How Can You Create One”? – Venngage, 2022). No internal architecture of the system is revealed in this diagram. The system is surrounded by the entities, tasks, and activities that interact with the system. The diagram is important in the software design to build sets of constraints and requirements of the system focusing on the external events and entities. The context diagram must be developed in the early stages of the project to be aligned with the objective and scope of the business under investigation. The requirements are defined with the help of these diagrams. The diagram must be accepted, read, and understood by the stakeholders, developers, data analysts, and business analysts, written in formal English (What is a Context Diagram and what are the benefits of creating one? – mordernanalyst.com, 2022). This makes the diagram easy to be made. This diagram identifies the major data flows in the system between the identified external entities (Context diagrams- www.cs.uct.ac.za 2022). This diagram can be understood without developing any technical knowledge and would be used later to form the foundation of the various data flow diagrams.
Figure 1: Context diagram of the website doneslouching.com,
Source: Author 2022
From the given case study, the above context diagram is drawn showing the website as the system and the external entities that are connected to the central system. The “doneslouching.com” is the system process and the external entities are the Fruit pickers, farmers, and the system admin. The relationships and the actions of the external entities are also defined. The “fruit picker” and the “farmer” both can log in to the system after registering with the correct credentials. The farmers can interact with the system and view the picking schedules and approve the pending decisions for the picking session. The fruit picker can schedule their visit to the farm and view the location of the farm for picking. The system admin is present to update the website and validate the credentials.
The name DFD comes from a Data flow Diagram, a drawing or visual representation that is used for depicting the flow of essential or required data through the whole system. The diagram is vital and used for visualizing the structured design of the system. Inside a DFD, it can be visible how the various data items flow in between the internal or external data store or sink relating to an internal activity (Levels in Data Flow Diagrams (DFD) – GeeksforGeeks, 2022). The DFD doesn’t provide help with understanding the ordering or timing of the activities or processes. The picture also doesn’t depict whether the process occurs in sequence or parallel. Thus, it differs from the way flowchart depicts themselves showing the flow of controls through the algorithm perspective, allowing readers to determine what kind of processes would get executed and their circumstances (Juvana & Lestariningsih, 2022). DFD helps in showing the kind of data that will get into or go out of the main system and where the data gets stored.
How to Create a Context Diagram?
The Level 0 DFD is the fundamental model of the system representing the abstract view of the entire system. The diagram shows the entire system as a singular process with a relationship to other external entities. The DFD takes its foundation from the context diagram representing the system as input and output dataflow indicated with outgoing or incoming arrows. The diagram shows the whole system and what objects or data flow to and from the entities (DFD- ques10.com, 2022). The Level 0 DFD provides the requirement specification which is a vital step for the managers and developers to understand what is required to be fulfilled for the project to be completed. The DFD contains data flow, processes, data stores, external entities, and data dictionaries. The DFD provides help with specifying the data requirements, usability requirements, environmental requirements, functionality requirements, and user experiences requirements.
Figure 2: DFD Level 0 of the doneslouching.com website system,
Source: Author 2022
From the given case study, the above diagram of the Level 0 DFD is made for the website system. As described, the data stores for the system are made for external entities like the Farmer, Fruit picker, and the Farms, holding necessary information to be used later. The five processes as described in the diagram are the Registration, Picking the fruits, Notification of completion of the task, Scheduling the sessions for picking fruits and collection of Wages. The further actions and the relationship among the system, entities, and their actions are clearly described. This is the lowest level of representation of the complete system.
The level 0 diagram made before lays the foundation for the level 1 DFD. The level 0 DFD is used for representing the complete system as a whole. The level 1 DFD denotes all the main processes along with their sub-processes that together complete the system. The Level 1 diagram can be called the exploded or expanded version of the Level 0 diagram containing its entities of it (Yudana & Prapitasari, 2022). The Level 1 entities show the data stores in the system along with the data flow between the data stores and the present processes. It must be understood that the data flow and the entities are similar to the level 0 diagram (Software Engineering Data Flow Diagrams – javatpoint, 2022). The DFD level 1 shows how the processes are expanded into sub-processes. The processes, each time they get expanded into lower levels the lower level must show the data flow too. The DFD level 1 diagram needs to be constructed using the following steps. First, the context level diagram is understood and the major processes are identified. The data flows to the main system must contain a process. The process must have data flows connected to it. The data flow between the process and entities are identified. The data stores are defined that containing the information of the system. Data stores have input and output flows connected to the system. The Level 1 DFD is beneficial for checking the details of the defined system to see any processes that might appear without any reason. These data flows are the trigger that might be missing, that will process take place (What is Data Flow Diagram? - Visual Paradigm, 2022). The Level 1 DFD helps in defining the limits and system functionalities of the system. The developers benefit from the diagram as it is an easy graphical representation detailing and explaining the components of the system. The diagram is easily understandable by non-technical personalities.
What are the Benefits of Context Diagram?
Figure 3: DFD Level 1 of the doneslouching.com website system,
Source: Author 2022
The Level 1 DFD for the given case provided in the figure above shows the exploded view of the doneslouching.com website system explaining the selected 3 processes broadly. The fice selected processes for the diagram are 1.0 Registration, 2.0 picking up the fruits, and 3.0 notification of task completion, 4.0 Confirmation of the picking session and 5.0 Give invoices of the session describing the processes of the Fruit Picker. Further, the level 1 diagram shows how the external entity fruit picker interacts with the system and how the processes are connected to the database sharing data. The actions of the fruit pickers are described as how the entity interacts with the processes.
The entity-relationship diagram allows the developer to visually represent the system as a data model. The diagram provides an understanding of the data that would be contained inside the database showing its logical structure (Introduction of ER Model – GeeksforGeeks, 2022). The logic of the database is connected to users. The diagram depicts the relationship among the entity sets that would be stored in the database. This paper focuses on logical data modelling which helps with establishing the data element and depicts the relationships between them (What is a Logical Data Model? – Tibco.com, 2022). The logical interpretation of the data modeling techniques is termed as the way of representing the architecture of the organization relating to the physical database that would be implemented in the system. The defined entities of the system represent sets of persons, concepts, and things that are related to the main system. The relationship helps in defining the association between the two entities (Logical Data Modeling | erwin, Inc., 2022). The attributes are the distinctive characteristics or feature that helps in describing the entity. As the entities and their attributes are identified, the various keys are defined with each of the entities. The diagram helps to understand the database of the whole system. The type of the database used thus does not matter. The data types are carried by the data attributes. The logical model is the foundation of the physical model of the entity-relationship diagram that helps in gathering the data and aligning it with the business requirements (Logical Data Models- IBM Docs, 2022). The logical data model uses a straightforward approach with simple data modeling notations. The cardinality provided in the ERD diagram depicts the relationship between the two entities (ER Diagram Representation- Tutorialspoint, 2022). The types of present cardinalities are one-to-one relationship, many-to-one relationship, many-to-many relationship, and one-to-many relationship. A Logical attribute is selected as the primary key, which is the unique attribute. The foreign keys are assigned to other attributes as the database is specified. Thus the diagram helps in illustrating the specific attributes and their relationships among their data points.
Figure 4: Entity Relationship Diagram of the doneslouching.com website system,
Source: Author 2022
For the given case study, the entity-relationship diagram as described above. The selected entities for the logical model to be described for the doneslouching.com website system are the Picker, picking, farmer, payment, and the farm. Each of the entities contains an attribute called the ID which is the unique identifier or primary key. The relationships among the entities are described in the picture using the crow’s foot functionalities. The entities relate to each other by using the foreign keys common in them. All the necessary attributes of the entities are described in the entities defining the characteristics.
What is a Data Flow Diagram?
The ERD model only provides to show the attributes in the present entities in the logical diagram. The physical relational database to be drawn later contains the attributes along with their data types, normalised to reduced redundancy.
In the entity-relationship diagram, which lays out the concepts of the database the entities are aligned in such a way that they collect data and represent how data will be stored in the database. The entities are the visual representation of the concept, event, person, or place that is a part of the system. The entities contain their own sets of features and characteristics called the attributes. The attributes help in defining the properties of the data store. The data store thus can be called the repository for gathering, storing, managing, maintaining, and distributing the data attributes.
The given case study provides the case of the doneslouching.com website system that requires the use of data stores for its complex database. The data stores represent the tables in the database containing important attributes with information. The Datastores that are found in the above given DFD in figure 4 are a picker, picking, farmer, payment, and farm. The identified data stores found other than the ones in DFD are System Admin, Managers, and Offers.
The ERD provided above was developed as the logical model. Now it is required to understand the physical model of the ERD. The logical model lays the foundation for the physical relational model for database design. The physical model of the database is made for optimizing the performance along with making sure that the data integrity is maintained in an efficient manner reducing the number of unnecessary redundancies in the data (Physical Data Model- 1keydata.com, 2022). The physical data model is a well-built concept that is laid by the logical model previously provided. The physical model adds to continuously monitoring the performances and improves the quality and integrity of data as time goes on. There might be cases when the data's physical design requires refining even further to remove redundancy. Thus, the database modeling and design support the process of development and are vital for improving the functionality and the performance of the database. In a physical relational database, the tables are the entities of the diagram that relate to each other by sharing common attributes or columns (Physical Data Modeling | erwin, Inc, 2022). The attribute present in two or more entities allows joining one another. The present types of relationships are one-to-one relationships, many-to-one relationships, many-to-many relationships, and one-to-many relationships. Next comes the idea of normalization. The normalization process allows to reduce the redundancy present in the data and significantly increases the stability of the relational database. The normalization helps to define which piece of data is present in what part of the relational tables and the relationship of the data with other pieces of data. The forms of normalization that one needs to know about are the First normal form, second normal form, and third normal form. The first and second normal forms contain enough redundancy that must be removed in the third normal form. The third normal form can be only achieved by an entity if the following already has 2NF and that no there are no present transitive dependencies among the non-prime attributes as see 2NF (Watt, 2022). The relation model can only be termed as 3NF if the model is currently adhering to 1NF and 2NF with no non-primary attributes being transitively depending on the discussed primary key (Explain 3NF with an example in DBMS- Tutorialspoint, 2022). Thus, the physical model further refines the logical design mapping the logical design for implementing the actual relational database model. The physical model allows for defining the data that is required or would be used in the system. The columns and attributes are indexes for accessing data. There is room for flexibility using relational models, adding redundancy if required to improve performance.
The Levels of Data Flow Diagrams
Figure 5: Physical relational database design of the doneslouching.com website system normalized up to a third normal form (3NF),
Source: Author 2022
The entity-relationship diagram of the doneslouching.com website system drawn from the case study gives the foundation to the physical relational model of the case study. The entities are described as it is in the ERD. The attributes of the entities are shown along with their data types. The diagram has been normalized to the third normal form without having any transitive dependencies.
The relational database design is different from the logical ERD model as the physical model provides the datatypes of all of the attributes whereas the ERD contains the attributes of the tables taken. There is not much differences among the two with the physical model being more descriptive and helps to define the important structure of the physical database. The physical database helps in designing the actual database based on the requirements that are gathered during developing the logical ERD. The ERD provides the data elements and the relationship between them. The physical relational model provides the structure of the complete database with the requirements collected in the ERD.
References:
Context diagrams.- www.cs.uct.ac.za (2022). Retrieved 10 April 2022, from
https://www.cs.uct.ac.za/mit_notes/software/htmls/ch06s06.html
DFD- ques10.com (2022). What is DFD? Explain level 0 and level1 DFD with suitable example. Retrieved 10 April 2022, from https://www.ques10.com/p/24848/what-is-dfd-explain-level-0-and-level1-dfd-with--1/?
ER Diagram Representation. (2022). Retrieved 10 April 2022, from
https://www.tutorialspoint.com/dbms/er_diagram_representation.html
Explain 3NF with an example in DBMS- Tutorialspoint (2022). Retrieved 10 April 2022, from https://www.tutorialspoint.com/explain-3nf-with-an-example-in-dbms
How do you explain DFD Level 1? – SidmartinBio. (2022). Retrieved 10 April 2022, from https://www.sidmartinbio.org/how-do-you-explain-dfd-level-1/
Introduction of ER Model - GeeksforGeeks. (2022). Retrieved 10 April 2022, from https://www.geeksforgeeks.org/introduction-of-er-model/
Juvana, E., & Lestariningsih, E. (2022). Design Of Sales Information System In Website-Based Isaylees Sport Store. International Journal of Computer and Information System (IJCIS), 3(1), 21-26.
Levels in Data Flow Diagrams (DFD) - GeeksforGeeks. (2022). Retrieved 10 April 2022, from https://www.geeksforgeeks.org/levels-in-data-flow-diagrams-dfd/
Logical Data Modeling | erwin, Inc. (2022). Retrieved 10 April 2022, from https://www.erwin.com/solutions/data-modeling/logical.aspx
Logical Data Models - IBM Docs. (2022). Retrieved 10 April 2022, from https://www.ibm.com/docs/en/data-studio/4.1.1?topic=SS62YD_4.1.1/com.ibm.datatools.logical.ui.doc/topics/clogmod.html
Physical Data Model- 1keydata.com (2022). Retrieved 10 April 2022, from https://www.1keydata.com/datawarehousing/physical-data-model.html
Physical Data Modeling | erwin, Inc. (2022). Retrieved 10 April 2022, from https://www.erwin.com/solutions/data-modeling/physical.aspx
Software Engineering Data Flow Diagrams - javatpoint. (2022). Retrieved 10 April 2022, from https://www.javatpoint.com/software-engineering-data-flow-diagrams.
Watt, A. (2022). Chapter 12 Normalization. Retrieved 10 April 2022, from https://opentextbc.ca/dbdesign01/chapter/chapter-12-normalization/
What is a Context Diagram (and How Can You Create One)? - Venngage. (2022). Retrieved 10 April 2022, from
https://venngage.com/blog/context-diagram/
What is a Context Diagram and what are the benefits of creating one? – mordernanalyst.com (2022). Retrieved 10 April 2022, from https://www.modernanalyst.com/Careers/InterviewQuestions/tabid/128/ID/1433/What-is-a-Context-Diagram-and-what-are-the-benefits-of-creating-one.aspx
What is a Logical Data Model?. (2022). Retrieved 10 April 2022, from https://www.tibco.com/reference-center/what-is-a-logical-data-model
What is Data Flow Diagram? - Visual Paradigm (2022). Retrieved 10 April 2022, from https://www.visual-paradigm.com/guide/data-flow-diagram/what-is-data-flow-diagram/
Yudana, I. G. P. H., & Prapitasari, L. P. A. (2022, January). Website-Based School Information System Design and Evaluation at Sma Negeri 1 Marga Tabanan-Bali. In Conference Series (Vol. 4, pp. 65-74).
To export a reference to this article please select a referencing stye below:
My Assignment Help. (2022). Essay: Context And Data Flow Diagrams For Software Design.. Retrieved from https://myassignmenthelp.com/free-samples/mis605-systems-analysis-and-design/the-relational-database-design-file-A1E3A8A.html.
"Essay: Context And Data Flow Diagrams For Software Design.." My Assignment Help, 2022, https://myassignmenthelp.com/free-samples/mis605-systems-analysis-and-design/the-relational-database-design-file-A1E3A8A.html.
My Assignment Help (2022) Essay: Context And Data Flow Diagrams For Software Design. [Online]. Available from: https://myassignmenthelp.com/free-samples/mis605-systems-analysis-and-design/the-relational-database-design-file-A1E3A8A.html
[Accessed 21 November 2024].
My Assignment Help. 'Essay: Context And Data Flow Diagrams For Software Design.' (My Assignment Help, 2022) <https://myassignmenthelp.com/free-samples/mis605-systems-analysis-and-design/the-relational-database-design-file-A1E3A8A.html> accessed 21 November 2024.
My Assignment Help. Essay: Context And Data Flow Diagrams For Software Design. [Internet]. My Assignment Help. 2022 [cited 21 November 2024]. Available from: https://myassignmenthelp.com/free-samples/mis605-systems-analysis-and-design/the-relational-database-design-file-A1E3A8A.html.