§ — — Systems Analysis and Design
Once requirements are clear, the next question is: How should the system be built? That is the job of design.
System design translates analysis outputs into implementable decisions. It covers architecture, data storage, interface design, controls, validation, module structure, and integration.
A sound design should be:
At the classroom level, you usually compare broad architectures:
| Design choice | Typical use |
|---|---|
| Standalone desktop | single office or local use |
| Client-server | controlled institutional environment |
| Web-based | browser access across many users |
| Mobile-supported | field access, convenience, notifications |
| Cloud-hosted | scalability and remote accessibility |
A practical design answer should justify architecture using context. For example:
Do not choose architecture only because it sounds modern. Choose it because it fits the project's users, environment, and constraints.
Design also decides how information will be stored and how modules will be separated.
This usually comes from the ERD and normalization work done earlier. At design stage, you now think about tables and keys, constraints, indexes, transaction integrity, and archival/backup needs. A weak database design can cause duplicate records, slow queries, broken reports, and inconsistent updates.
Some systems still export or import files such as CSV, PDF reports, spreadsheet uploads, and official printable forms. A complete design states which outputs are on-screen only, printable, downloadable, or sent through email/SMS integration.
A system is rarely one giant block. It is usually divided into modules — for example: user management, transaction processing, reporting, notification, inventory, audit log. Name components by major responsibilities. Example for a clinic system: Appointment Module, Patient Record Module, Medicine Inventory Module, Reporting Module, Access Control Module. The design should also decide which modules interact and what data they exchange.
Input design focuses on correct, efficient data entry: ask only for needed data, use clear labels, group related fields, reduce repetitive encoding, validate early, use appropriate controls (dropdowns, date pickers, checkboxes). Good examples: restricting dates to valid ranges, requiring a reference number format, auto-filling known details, confirming destructive actions.
Output design includes receipts, reports, dashboards, notifications, approval slips, history logs. Managers usually want summarized reports; front-line staff often need transaction-level detail.
A useful interface is consistent, readable, efficient, forgiving of mistakes, and accessible to beginners. In many BSIT courses, UI design connects closely with HCI — consider learnability, feedback, and error prevention, not only appearance.
ProReviewer — locked
Drills, code labs, and full solutions.
ProReviewer — locked
Drills, code labs, and full solutions.
Done with this module? Track it — your progress shows on the subject list.
Up next
Lesson 7: Testing, Implementation, and Maintenance→←Previous: Lesson 5: Object-Oriented Analysis and UML