Name : Tatenda N Gori
Registration N# : H230110G
Course : System Analysis 2
Department: Information Technology (IT)
School: Information Science and Technology
Assignment: 2
1. Three Features of a GUI
A Graphical User Interface (GUI) allows users to interact with electronic
devices through graphical icons and visual indicators. Three key features
include:
a) Menus & Buttons – GUIs offer drop-down menus, toolbars, and clickable
buttons that provide easy access to features, making navigation seamless and
reducing the need for manual text-based input.
b) Windows – Information is displayed in separate windows, allowing users to
multitask efficiently. Windows can be resized, minimized, or closed as
needed, improving the overall organization of workspaces.
c) Icons – GUIs use graphical symbols or icons to represent files, applications,
and functions, making it easier for users to recognize and interact with
elements without needing to memorize complex commands.
d) What You See Is What You Get
Users can see a visual representation of content, such as how a printed page will
appear. This reduces the need for memorizing commands.
2. State any two advantages and disadvantages of
using GUIs.
Advantages
User-friendly – GUIs are visually intuitive, making them easier to use, especially
for beginners, as they don't require knowledge of complex command-line inputs.
Multitasking – Users can open and manage multiple windows simultaneously,
improving productivity and efficiency
Disadvantages
Less Flexibility for Advanced Users – While GUIs simplify tasks, they can
sometimes limit the level of customization and control available compared to CLIs,
which allow direct command input.
Higher Resource Usage – GUIs require more system resources (such as RAM and
processing power) compared to Command-Line Interfaces (CLIs), which can slow
performance on lower-end devices.
3. Flowchart, for a simple ticket booking process
Start
The process begins with a "Start" node. This symbolizes the initiation of the ticket
booking operation, typically triggered when a user accesses the booking portal.
Display Booking Menu
The first action is to present the user with the booking interface. This menu might
include options such as selecting the type of event (e.g., movie, train, concert),
location, or date.
User Selects Ticket Type
The user is prompted to choose the type of ticket they wish to purchase. This can
include class of travel (economy, first class), seating type (balcony, regular), or
pricing options.
Check Availability
Once a ticket type is selected, the system checks whether there are seats available
for the selected option. This step is crucial to prevent overbooking.
Decision Point: Are Seats Available?
This is a decision node represented by a diamond in the flowchart. If seats are not
available, the system proceeds to display a message such as "Sold Out," and the
process ends there. If seats are available, the system continues to the next step.
User Enters Details
Here, the user inputs personal details such as name, contact information, and
possibly payment method. Accuracy at this stage is important for identification and
communication.
Confirm Booking
The user is asked to review and confirm the booking. This may involve accepting
terms and conditions or verifying ticket details before final submission.
Display Success Message
Upon successful confirmation and processing, the system generates the ticket and
displays a success message with a reference number or QR code.
o End
The process concludes, and the user exits the booking system.
4. Steps involved in the output design process.
The output design process is a crucial stage in system development that focuses
on how information will be presented to users. Effective output design ensures that
the system communicates results in a clear, accurate, and user-friendly manner.
The steps involved include the following:
1. Identify Output Requirements
The first step involves understanding the needs of the users and determining what
information must be provided by the system. This is often gathered through
interviews, questionnaires, or observing business operations. For example, a
payroll system may need to output employee payslips, tax reports, and salary
summaries. Identifying who will use the output (e.g., staff, customers,
management) also helps shape the design.
2. Determine the Output Medium
Next, the designer must decide the most suitable output medium — whether the
information will be displayed on a screen, printed on paper, sent via email, or
exported to external applications like spreadsheets. For instance, sales reports
might be printed for meetings, while error alerts may be displayed instantly on-
screen. Choosing the right medium ensures accessibility and convenience.
3. Design the Output Format
Once the medium is chosen, the layout of the output must be carefully planned.
This includes the arrangement of data, use of headings, labels, grouping related
items, and selecting appropriate fonts and colors. A well-designed format helps
users quickly interpret the information. For example, a dashboard for a sales
manager might include charts, color-coded figures, and filters to highlight trends.
4. Prototype and Review
After the format is designed, a prototype or sample output is developed. This
allows stakeholders to visualize the final product and provide feedback. Any
necessary revisions can be made before implementation. This stage helps prevent
future redesigns and ensures that the output meets user expectations.
5. Implement and Test the Output
The final step is the actual development of the output component within the
system. The output must be tested for accuracy, reliability, formatting, and
performance. Testing ensures that the correct data is shown, and the output
behaves as expected across different platforms (e.g., web and mobile).
5. Discuss the principles of effective input design and
how poor input design can affect system
performance.
Input design is a fundamental aspect of system development that deals with
how data is collected and entered into a system. Good input design ensures
data accuracy, minimizes user errors, and enhances overall user experience.
Poor input design, on the other hand, can severely compromise system
reliability and performance.
Principles of Effective Input Design
1. Simplicity and Clarity
Input forms and interfaces should be kept as simple as possible. The language used
should be clear and free from technical jargon. Fields should be arranged logically
to guide the user naturally through the form. For example, placing ‘First Name’
before ‘Last Name’ follows common conventions and prevents confusion.
2. User Guidance
Users should be provided with guidance through tooltips, placeholders, and
instructions to help them enter the correct data. Icons, color cues, and real-time
suggestions also aid in this. For instance, an online form may use a calendar icon
next to a date field, making it easier for users to select dates. (3 marks)
3. Validation and Error Handling
Robust validation should be in place to catch incorrect or incomplete data entries.
This includes checking for format (e.g., email addresses), range limits (e.g., age),
and mandatory fields. Error messages should be clear and constructive, indicating
what went wrong and how to fix it — e.g., “Phone number must contain 10 digits.”
4. Consistency
The design should maintain consistency in field names, button placement, and
formatting throughout the system. Consistent use of labels, fonts, and colors helps
users become familiar with the interface, reducing the learning curve.
5. Efficiency and Speed
To reduce the time users spend on input, features like autofill, dropdown menus,
radio buttons, and smart defaults should be used. For instance, selecting a country
could auto-fill the country code in a phone number field. Efficient input design
increases productivity and reduces frustration. (2 marks)
6. Security
Input fields must be secured to prevent threats such as SQL injection or data
breaches. Input should be sanitized, and validation rules should be applied on both
client and server sides. Additionally, sensitive fields like passwords should be
masked and encrypted.
Effects of Poor Input Design on System Performance
1. Increased Errors
Unclear or poorly labeled fields can result in users entering incorrect or invalid
data. This compromises the integrity of the system and may lead to faulty decision-
making, especially in systems that rely heavily on data analysis. For example, a
medical system with wrong dosage inputs could be life-threatening.
2. Reduced Efficiency
If the input process is time-consuming or confusing, users take longer to complete
tasks, reducing overall system efficiency. For example, a long and cluttered form
without shortcuts will frustrate users and slow down service delivery.
3. Low User Satisfaction
An input interface that is not user-friendly can lead to dissatisfaction, negative user
feedback, and reduced adoption of the system. This is especially critical in
customer-facing systems, such as e-commerce platforms or public service
applications.
4. Increased Maintenance and Costs
Poor input design results in data errors that need to be manually corrected,
increasing maintenance time and cost. Over time, this can lead to system
inefficiencies and even the need for costly redesigns.
5. Security Risks
Without proper input validation, the system becomes vulnerable to attacks such as
SQL injection, cross-site scripting (XSS), and data leakage. This could result in
legal implications, financial loss, or damage to an organization’s reputation.
REFERENCES
1. J. Nielsen, Usability Engineering, Morgan Kaufmann, 1994.
2. S. Krug, Don't Make Me Think: A Common Sense Approach to Web
Usability, 2nd ed., New Riders, 2006.
3. Cooper, R. Reimann, D. Cronin, and C. Noessel, About Face: The
Essentials of Interaction Design, 4th ed., Wiley, 2014.
4. Shneiderman, C. Plaisant, M. Cohen, S. Jacobs, N. Elmqvist, and N.
Diakopoulos, Designing the User Interface, 6th ed., Pearson, 2016.
5. J. Hackos and J. Redish, User and Task Analysis for Interface Design,
Wiley, 1998.
6. OWASP Foundation, "Input Validation Cheat Sheet," Open Web
Application Security Project, 2021. [Online]. Available:
https://owasp.org
7. S. P. Ghosh and D. M. Pingle, "Importance of data accuracy in medical
information systems," Journal of Health Informatics in Developing
Countries, vol. 5, no. 2, pp. 21–30, 2011.
8. H. Sharp, Y. Rogers, and J. Preece, Interaction Design: Beyond Human-
Computer Interaction, 5th ed., Wiley, 2019.
9. G. Kim, J. Humble, P. Debois, and J. Willis, The DevOps Handbook, IT
Revolution Press, 2016.
10.T. Connolly and C. Begg, Database Systems: A Practical Approach to
Design, Implementation, and Management, 6th ed., Pearson, 2015.