SOLVED: Software Design and Development

Solent University

Coursework Assessment Brief

Assessment Details

Module Title:

Software Design and Development

Module Code:

COM714

Module Leader:

Prins Butt

Level:

7

Assessment Title:

Estate Management System

Assessment Number:

AE1

Assessment Type:

Software Artefact and Demonstration

Restrictions on Time/Word Count:

Software Artefact + 15 minutes demonstration

Consequence of not meeting

 

time/word count limit:

It is essential that assignments keep within the

 

time/word count limit stated above. Any work beyond

 

the maximum time/word length permitted will be

 

disregarded and not accounted for in the final grade.

 

 

Individual/Group:

Individual

Assessment Weighting:

100%

Issue Date:

14th March 2021

Hand in Date:

14th May 2021

Planned Feedback Date:

14th June 2021

Mode of Submission:

Online via SOL

Number of copies to be submitted:

1 copy of the following:

 

•   a zip file (*.zip) containing the source code for

 

your software artefact.

 

 

Anonymous Marking

This assessment will not be marked anonymously

 Introduction

[Please note that Solent Council is fictional and invented for this case study.]

Solent Council owns multiple estates that are occupied by local community members in different parts of the country. Each estate consists of thoroughfares and homes occupied by different occupants (owners or tenants). Estate occupants are required to pay yearly service charges to the council, which can be paid as a one-off payment or by instalments. Currently, the council employs a paper-based system where occupants make payments directly to the council staff and a receipt will be manually issued as evidence of payment. This process results in tremendous paperwork for staff, ineffective validation of payment and process and serious complaints from occupants regarding inefficiency.

As the estates grow over time, there is a significant need for an electronic system for the management of these activities.

Requirements

Consider the following features in the development of the system:

(a) Estate

An estate has a name and consists of multiple thoroughfares and properties. Each estate will always have a contact, the estate manager, who is in-charge and manages the estate affairs. The estate will have a location in a specific area of the country among other features.

(b) Thoroughfare

Every estate is made up of multiple thoroughfares with names and properties on one or both sides of a thoroughfare. For this case study, a thoroughfare can be a street, close, avenue, crescent, lane, court or road.

c) Property

A property is a building on a thoroughfare within an estate. A property type may be in the form of a detached house, semi-detached, terrace or a block of flats. A property may be occupied by single or multiple households. A property will always have an address (usually the building name, number and thoroughfare name), associated owner or custodian, and a completion date among other features. A property may be owned, rented or managed by a body.

(d) Household

A household refers to occupants of a property who live together as a single unit. For example, a detached house and its occupants will be a single household. A block of flats, on the other hand, may consist of multiple households. Any form of an individual unit of a property (e.g. a house or an individual flat) is regarded as a household. Each household will have a custodian who usually will be solely responsible for activities related to the household.

(e) System users

Users are considered to be the system actors who will carry out different activities using the system. The system users are considered in three categories as follows:

1. Basic System User

A basic system user is associated with an estate and will be able to carry out basic functionalities in the system. These include:

i.        create, view and update thoroughfare for the estate.

ii.        create, view and update properties on a thoroughfare in the estate.

iii.         create, view and update a household and its associated custodian for a property on a thoroughfare.

 

iv.        generate an invoice for a specific household.

v.        take payment on behalf of a custodian and generate a receipt.

vi.        print invoices and receipts for any payments that have been made.

2.   Manager

An estate manager will be able to complete all basic system user tasks as stated above and, additionally, the following:

i.        delete thoroughfares, properties, households and associated custodians.

ii.        create a basic system user that is restricted to the estate for which the estate manager has charge.

 

iii.         view the total invoice for the estate i.e. all households.

3.   Administrator

An administrator will be able to complete all basic system user and estate manager tasks as stated above as well as the following:

i.        create, view, update and delete estates including an associated estate man-ager and basic system users.

ii.        view, update and delete estate invoices and payments.

iii.         view the total invoice and payment receipt for all estates within the system.

Assessment Tasks

Solent Council has now considered employing you as a software developer to help develop their estate management system.

Using Python, your task is to develop and test an estate management system that meets the requirements described in this assessment brief. You should complete the following tasks to help you achieve this goal:

 

a)    Analyse the problem scenario and derive suitable UML diagrams (use-case, robustness, sequence and class diagram). These should be included in your project in a suitable folder.

 

b)   Implement a graphical user interface-driven object-oriented system using Py-thon. You should use Tkinter to implement the graphical user interface.

 

c)    Suitably test your system using appropriate unit tests.

Scope

You are required to develop an Object-Oriented application with a graphical user interface using Python that meets the requirements as described in this assessment brief. It is expected that you will develop Python classes that model the features of the system as well as a suitable graphical user interface through which users can interact with the system. You are not required to implement a database. You are also not required to implement a payment system or print physical invoices. Instead, you should simulate these aspects of the system by appropriately displaying the results.

Environment

You are required to use the following tools:

-  PyCharm as your integrated development environment

-  Python 3.9 as the standard python library

-  Additionally, the following libraries/modules may be imported and utilised:

csv to process CSV files

datatime to manipulate dates and times

enum to add enumerations

json to process JSON files

math provides access to mathematical functions os to retrieve or check file paths

pprint for ‘pretty printing’ data structures random – to generate random numbers test allows regression testing

 

tkinter to create a graphical user interface typing to add type hints

unittest to construct and run tests

-  Git Tools and GitHub for version control

-  A diagramming tool such as draw.io

-  No other python libraries or modules should be used

Tasks

Before You Begin 

You should read this assessment brief in its entirety. Once you are ready, create a new Python project using PyCharm. You should ensure that the interpreter is set to Python 3.9. You should also ensure that your project is added to a private Git repository hosted on GitHub.

Software Product:

You are required to develop a software product that addresses the problem scenario using Python and the tools specified in this assessment brief. You should regularly commit your project to your Git repository. It is expected that your Git repository will evidence the full development history of your software product.

Demonstration:

You will be required to demonstrate your final working solution. During the demonstration, it is expected that you will execute your final solution, explain your implementation, answer any questions related to your solution and show evidence of the development of the software artefact. No presentations slides are expected or required. The demonstrations will take place after the submission of the software product and no later than the date specified in this assessment brief.

Disclaimer

The assignment sample provided by Assignments Consultancy is a previously completed work for another student and contains plagiarism. It is being shared only as a reference or guideline to help you understand how to structure and approach your own assignment. We do not recommend submitting it directly as your own work. You are solely responsible for ensuring the originality and integrity of the assignment you submit, and we advise using this sample only as inspiration while adhering to your institution's academic policies.

LEAVE A COMMENT

Comment Box is loading comments...