A data-flow diagram DFD is a graphical representation of the flow of data through an information system. DFDs can also be used for the visualization of data processing structured design.
On a DFD, data items flow from an external data source or an internal data store to an internal data store or an external data sink, via an internal process.
A DFD provides no information about the timing or ordering of processes, or about whether processes will operate in sequence or in parallel. It is therefore quite different from a flowchart, which shows the flow of control through an algorithm, allowing a reader to determine what operations will be performed, in what order, and under what circumstances, but not what kinds of data will be input to and output from the system, nor where the data will come from and go to, nor where the data will be stored all of which are shown on a DFD.
When it comes to conveying how information data flows through systems and how that data is transformed in the process, data flow diagrams DFDs are the method of choice over technical descriptions for three principal reasons.
(Data Flow Diagram definition, blog source)
Requirements specifications is one of the most major thing for both developer and customer because they needed to fulfill what they wanted for the future specification and how its one layout look like are fairly important to them to meet their requirements they have needed to do it more in a formally requirements specification instead of just do it without procedure each and every steps are cautions they might be one mistake and the entire layouts might be lost just because of the simple mistake so this is why requirements specification are important
Definition question 1
DFD is a flow that is more specifically to stated how the flows and the process has been running through the entire process as it is one of the shortest way to understand how it is being processed by the DFD diagram
Answer for Question 1
Level-0 (Context Level)
DFD of a University Course Registration System
University Course Registration System
Results Student details
Course Details Course Details
Results Student Details Stu&
Student Course Cou
Check the information is all trueLevel-2 (Invalid Inputted Details)
Check the student is eligible for the course Student Student Student Details
Denial Note ( Not eligible) Result
Check that the results are true
And not tempered
Denial Note ( Invalid Result)
Level 2- Process Application
Issue Acceptance and inform faculty office
Store in Student Database Student Details Student Details
Store in Courses Database Course DB
Student Details Course Details
A data flow is either an input or an output of a process. The input data flow can be in various form such as a document, a record, a control signal transmitted by a transducer, a series of numbers keyed by a human operator and much more.
A Process or Data Transform
Data transform receives data as input and transforms it to produce output data.
A data store represents as storage of data that is for used as input to one or more processes. Data store normally are computer database or manually operated files.
External entity represents the source or destination of data. Normally, an external entity may be both an originator and a receiver of data. Examples of external entity are a person, organization, hardware and so one.
(Scott W. Ambler, 2009)
DFD can be expressed as a series of levels. The outermost level, level 0 (exploded diagram of context diagram) shows how the system interacts. It is important to first draw context-level data flow diagram first before the level 0 to show all basic operations in the system.
(Kevin Bowman, 2004)
Data dictionary (DD) stores details and data about various components of a data flow diagram. It documents the details about the every system components such as data flows, data stores and processes. Because sometime certain phrases in the diagram may not understand by audience, data dictionary will be plays an important role to show common meaning to each system components.
The following shows the data dictionary of Pizza World system.
Entity name: Student
Description: Person who are inquire to study in the university
Alternate name: Student
Output data flow: Result, Student Details, Course Details, Acceptance/Denial
Process name : University Course Registration System
Description : A system to designed for registration for any courses in the university
Alternate name : University Course Registration System
Output Name : Student details, Course details
Entity Name : Student
Description : Inputting all their data’s in level 1
Alternate name : Student
Output Name : Result, Student, Details, Course Details
Input Name : Denial Note
Process Name : Inputted details
Description : Input a student details
Output : Student details, Course details
Process Name : Process Application
Description : To process a student details in a formal form
Output Student details, Course Details
Process Name : Check the information is all true
Description : Is to check whether the information that collects is true and no false statement
Input : Student details
Output : Denial note, Student details
Process Name : Check the students is eligible for the course
Description : It is to check whether a student is qualify to entrance our university
Output : Course Details, Student Details, Denial not eligible
Process Name : Check that the result are true and not tempered
Description : Check the student results
Input : Result
Output : Denial note invalid result
Process Name : Store in database
Description : To store student’s information into database management system
Input : Student Details
Output : Student details
Process Name : Store in Database
Description :To store all the course’s information
Input : Course Details
Output : Course Details
Process Name : Issue Acceptance and Inform Faculty Office
Description : To issue statement note that the student has acceptance in our university
Output : Acceptance Note, Student Details , Course Details
Define Question 2
A requirements specification is a comprehensive description of the intended purpose and environment for software under development. The requirements specification fully describes what the software will do and how it will be expected to perform.
Answer for Question 2
Requirements specification is to describe how the system will do and not how it will be needed to be understandable by both developer and customer where they can run this system without any problem.
We should have enough information to develop a set of requirements for the system. Requirements specification keeps project stakeholders and developers focused on the goals of the design. These requirements should also be used during quality assurance testing, to ensure that system features and functionality have been designed to support users, based on their needs and preferences.
There are several types of requirements for a website, including:
User Experience Requirements
Data Requirements help developers understand how data will be gathered and used, so that they can plan and build a database with functionality that supports the information flow. When collecting information from a user on a website, it is important to understand how to store and format the information so that it may be used efficiently and in multiple ways. For example, if a website form requests a user’s name, it is usually best to separate the name into First Name and Last Name fields, as another area of the web site may require users to alphabetize a list of users by their last name. Another example is that many web sites personalize a user’s experience by displaying “Welcome”, followed by the user’s first or last name only.
The environment plays a powerful role in determining how to best communicate with users via your interface design. There may be cases where the users themselves have no visual, auditory or tactile deficits however, the environment in which they use the interface limits their normal perceptual abilities. For example, in a hospital setting there may be 2 or more beeping machines around a patient during surgery, each with its own set of sounds. If you are designing a device that also includes sounds for alerts and alarms, you should learn about the sounds that the other machines make, so users can accurately distinguish the sounds coming from your device; otherwise, your sounds may not be useful to the user. Another example of emerging technology on a large scale are touch screen devices, which are now in the hands of several million cell phone users with the advent of the iPhone and similar products. Touch screens may impose environmental constraints on a user due to clothing wearing gloves in cold weather, and they may be challenging to use while moving, such as when riding on a subway or in a car on a bumpy road. Thus, Environmental Requirements are fundamentally important to an interface’s design.
Once you have a list of features, you should describe how they should function in order to support users workflow the steps that users take to complete a task. It is also good to determine how one feature will interact with other features. Sometimes the interaction of two or more features can create new design problems related to functionality. The resulting list becomes your Functional Requirements.
Respondents are often eager to provide a wish list of desired features for an interface design. Some of these may be fundamental features, some may add value competitively perhaps by enhancing the user experience, and still others may have been suggested to solve a usability issue inherent in the current design. Evidence of the latter group of features is often found in the workarounds that users create to bridge the gap between an existing interface design and a user’s needs. For example, if a user must remember a 14-digit number in order to track a package being shipped, he may jot the number down on a sheet of paper to relieve his mind from the burden of memorizing it. This workaround suggests that users need an easier way to enter or remember this number, and designing the interface to accommodate the user would be ideal. An additional Functional Requirement could be to provide a way to recover or reset a lost password. It is important that Functional Requirements support user tasks the way that users actually perform or desire to perform them, and not how a web developer or researcher believes they should. It is also important to exclude features that provide no real benefit or value to the user experience. For example, if someone on the project development team comes up with a feature idea, it should be tested with users before it is implemented. You may discover that users perceive the feature as unnecessary, or worse, an obstacle on the path to achieving their goals.
An interface should be easy to learn how to use and easy to remember how to use. The latter pertains especially to devices that require infrequent use. Users should not be required to consult a manual each time they need to use a kitchen blender for instance. Bank ATMs and web-based forms, which may be used by anyone, should be simple to use the first time around without instructions.
Usability Requirements for an interface design should support the following from the perspective of its primary users:
Efficiency of use: goals are easy to accomplish quickly and with few or no user errors
Intuitiveness: the interface is easy to learn and navigate; buttons, headings, and help/error messages are simple to understand
Low perceived workload: the interface appears easy to use, rather than intimidating, demanding and frustrating
User Requirements define how to meet the physical and cognitive needs of the intended users of your website or application. Users should be able to comfortably and effectively use an interface to accomplish the goals that it has been designed to support. When you can clearly define who will be using your interface, and the environment in which it will be used, you can specify User Requirements. A Contextual Task Analysis is one method you can use to gain insights about how and where your users expect to use your interface, by observing how they currently perform a task that your interface will, or already does, support. If you learn that a majority of your intended users have impaired vision, hearing, or motor skills, you may need to design your interface to support accessibility. For example, website form fields and error messages should support assistive devices such as text-to-speech readers. Another example is providing the ability to adjust font size small, medium, large to help users with impaired vision, which may include someone who does not always wear his or her glasses.
User Experience Requirements
User Experience Requirements have an impact on all other requirements. This is because in a User-Centered Design process, users come first. Specifically, user needs and preferences for an interface design should be supported to the extent that they provide users an enjoyable experience and the means to complete their task goals with ease. A user’s experience can be enhanced by adding elements of delight to user interactions. Delight may manifest as unexpected by users shortcuts that allow a user to complete a common task more efficiently, or through the language used on a website when you speak the users language, you gain user trust. To thoroughly understand user needs and preferences, conduct user research, such as one-on-one structured interviews, focus groups, and ethnographic observations.
(Project Management methodology, 2005)
DFD is definitely bringing much fastest way to understand such a complicated system and it compressed it into a very simplest way to the user or programmer to understand it. In this assignment, from what my illustration of DFD it is one of the simplest way me to compressed everything from a big stack of documentation which is complex and not easy to understand into simplest way in just a few levels of the flows and how it works between stages of levels from what their changes.
Requirement specification is one of the way to ensure the quality of assurance testing, in order to ensure the system features and functionality these has been designed for the support users based on the customer and developer needs. Also formal languages are also very important for the developer and customer if one uses informal languages it may occurs and confuse by both developer and customer.