0% found this document useful (0 votes)
45 views17 pages

System Design Report Task 1: Database Design and Normalisation A) First Normal Form (1NF)

The document summarizes the system design for a property management system. It discusses: 1) Normalizing the database to 1NF, 2NF and 3NF, extracting candidate keys and functional dependencies to develop tables for Customer, Rental, PropertyOwner and Owner. 2) The proposed architecture which uses NodeJS for the backend, ReactJS for the web frontend and Flutter for mobile, with a MySQL database. 3) Usability goals including efficiency, intuitiveness and low perceived workload. User requirements focus on accessibility and adjustability.

Uploaded by

Brannigan Sakwah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views17 pages

System Design Report Task 1: Database Design and Normalisation A) First Normal Form (1NF)

The document summarizes the system design for a property management system. It discusses: 1) Normalizing the database to 1NF, 2NF and 3NF, extracting candidate keys and functional dependencies to develop tables for Customer, Rental, PropertyOwner and Owner. 2) The proposed architecture which uses NodeJS for the backend, ReactJS for the web frontend and Flutter for mobile, with a MySQL database. 3) Usability goals including efficiency, intuitiveness and low perceived workload. User requirements focus on accessibility and adjustability.

Uploaded by

Brannigan Sakwah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

SYSTEM DESIGN REPORT

Task 1 : Database Design and Normalisation

a) First Normal Form (1NF)

b) Normalisation to 3NF diagrams

Second Normal Form (2NF)


THIRD NORMAL FORM (3NF)

c) Process of normalisation

1NF

1NF requires relations in which the intersection of each row and column contains one
and only one value. This requires elimination of repeating groups.

2NF

Candidate Keys
Extracting candidate keys we have:
i. (CustomerNo, PropertyNo)
ii. (CustomerNo, RentStart)
iii. (PropertyNo, RentStart)

From this we can introduce Rental Relations with PropertyNo and CustomerNo as
foreign keys.

Functional Dependencies
Extracting all functional dependencies we have:
i. CustomerNo, PropertyNo → RentStart, RentFinish (Primary Key)
ii. CustomerNo → CustomerName (Partial Dependency)
iii. PropertyNo → PropertyAddress, Rent, OwnerNo, OwnerName (Partial
Dependency)
iv. OwnerNo → OwnerName (Transitive Dependency)
v. CustomerNo, RentStart → ProprtyNo, PropertyAddress, RentFinish, Rent,
OwnerNo, OwnerName (Candidate Key)
vi. PropertyNo, RentStart → CustomerNo, CustomerName, RentFinish
(Candidate Key)
We can summarize relations with the following functional
dependencies:
i. CusomertNo, PropertyNo → RentStart, RentFinish
ii. CustomerNo → CustomerName
iii. PropertyNo → PropertyAddress, Rent, OwnerName, OwnerName

Therefore, we obtain the tables:


i. Customer(CustomerNo, CustomerName)
ii. Rental(CustomerNo, PropertyNo, RentStart, RentFinish)
iii. PropertyOwner(PropertyNo, PropertyAddress, Rent, OwnerNo,
OwnerName)

3NF

Functional Dependencies in 2NF

Customer
CustomerNo → CustomerName
Rental
CustomerNo , PropertyNo → RentStart, RentFinish
PropertyNo, RentStart → CustomerNo, RentFinish
PropertyOwner
PropertyNo→ Paddr, Rent, OwnerNo, OwnerName
OwnerNo → OwnerName
We can now generate the following tables from these relations:
i. Customer(CustomerNo, CustomerName)
ii. Rental(CustomerNo, PropertyNo, RentStart, RentFinish)
iii. PropertyForRent(PropertyNo, PropertyAddress, Rent, OwnerNo)
iv. Owner(OwnerNo, OwnerName)
Task 2 : Architecture Design

The proposed management system is going to be a web based system for all the users
accessible via web browsers and native mobile and desktop applications. The system
can be used within any operating system with internet connectivity.
The backend will be developed using nodejs, the web frontend in reactjs and flutter
for mobile frontend.
For the database management system we will use MYSQL.

Persistent data management

Persistent data management deals with how the persistent data such as file, database,
etc. are stored and managed and to outlive a single execution of the system. This
Persistent data management describes the persistent data stored by the system and the
data management infrastructure required for it. The proposed system will use MySQL
database for storing data.
Most functionality in system is concerned with creating or manipulating persistent
data. For this reason, access to the data should be fast and reliable.

Access control and Security

In proposed property management systems there are different actors interacting with
the system. Each
actor should have different level of authentication to different functionality and data
in a system.
For this reason there is need for an authentication mechanism to control the data
access by different
stake holders as well as users, so that information is protected from unauthorized
users.
There for the system will ask every actor or user to Login before performing any
operation depending on their level of authentication given by the Administrator.
Task 3 : UI Design principles & User Interface Mock-up

Property Listing on client device.


Editable Property Listing on Admin panel
The property listing allows for the administrator to add, remove or edit properties
listed on the site.
The clients can view available properties listed on the site and decide which property
they are interested straight from their devices.

1. Clear and intuitive user navigation

The system uses bottom navigation bar on mobile devices and Sidebar navigation for
desktop devices.
On Desktop devices the navigation menu uses texts that clearly define what is
expected on performing given action.
On mobile links not on the bottom navigation bar are highlighted in green.

2. Consistency is the key and Design Standards Compliance

The system uses bottom navigation bar on mobile devices and Sidebar navigation for
desktop devices.
This maintains platform consistency hence the app looks and feels native to the
platform being used.

3. Target audience is well defined

From the UI the property listing clearly hints to users who are searching for property.
4. Familiar UI elements
Task 4 : UI Design process

a) Developing two use scenarios


Case 1 : Account Creation & Login

Case 2 : Property Look up


b) Navigation Diagram
c) Describing how would you define/apply the standards in your UI design

I’d choose and stick to an existing standard, such as The Macintosh Human Interface
Guidelines, even if the standard seems wrong, it's rarely profitable to deviate from
widely established conventions.
By creating sketches of all screens of the application, having them reviewed by an
ergonomy-expert to correct mistakes, and, only then, proceed to development.
Ensuring the user gets an overall view before being presented with all the details,
defining and capturing hierarchies.

Visibility
Ensure users should be able to clearly see how and where they can achieve their goal.

Consistency
Achieved by keeping all the repeating elements of your design the same, whether it’s colour,
typography, function or location.

Learnability
By using commonly recognised design conventions and helping users to complete tasks by giving
feedback are good places to start.

Feedback
Achieved by communicating whether the user has completed an action successfully or not.
For example, using a tick when an action has been completed successfully is a globally recognised way
of saying “that is ok”.
d) Choosing a prototyping technique and an interface evaluation technique

Paper Prototyping

Prototyping on paper allows one to create, throw away and iterate multiple times
pretty fast with less wasting time.

Paper prototype is good to simulate series of user interactions when building an app,
even for a Physical product. And you don’t need to have Software tool to do that. All
you need is pen (colored) , paper (colored) and sometimes some glue.

It also facilitates experimentation by using different pens, colored papers, glue sticks,
may be stencils.

It gives more freedom than using a software. One can also check multiple user
usability issues by just drawing it on paper and making improvements.

Heuristic Interface Evaluation

It is a systematic inspection of a design for usability meant to detect the usability


problems in the design so that they can be attended to as part of an iterative design
process.

This involves a small set of analysts judging the UI against a list of usability
principles(heuristics).

Involving multiple evaluators improves the effectiveness of the method significantly.


Task 5 : Usability and User experience Goals

The usability goals usually includes measurable objectives such as effectiveness,


efficiency, safety, utility, learnability, and memorability.
The user experience goals are more subjective qualities concerned with how the
system feels to a user.

Usability Requirements

An interface should be easy to learn 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.
Usability Requirements for an interface design should support the following from the
perspective of its primary users:
i. Efficiency of use:  goals are easy to accomplish quickly and with few or no
user errors.
ii. Intuitiveness:  the interface is easy to learn and navigate; buttons, headings,
and help/error messages are simple to understand.
iii. Low perceived workload:  the interface appears easy to use, rather than
intimidating, demanding and frustrating.

User Requirements

User Requirements define how to meet the physical and cognitive needs of the
intended users of the system.
Users should be able to comfortably and effectively use an interface to accomplish the
goals that it has been designed to support.
When one can clearly define who will be using your interface, and the environment(s)
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 (e.g., small, medium,
large) to help users with impaired vision, which may include someone who does not
always wear his or her glasses.
References

 Brueghel, Bernd (2000).Object oriented Software Engineering Conquering


Complex and Changing System. Upper Saddle River: Prentic Hall.

You might also like