Unit learning outcomes of CIS020-1/CIS093-1 Shared Power Assignment
- Demonstrate a good understanding of analysis and design techniques using UML.
- Demonstrate a good understand of basic development using Python.
- Report Writing
- Group Working – working within a team, breaking a task into smaller pieces and allocating them to team members. Taking personal responsibility for the work allocated to you while also ensuring that
other team members are doing what they need to do. Conflict resolution. - Presentation Techniques – putting together a presentation for delivery to the teaching staff at the end of the assignment. The presentations will take place in weeks 14 and 15.
What am I required to do in this CIS020-1/CIS093-1 Shared Power Assignment
‘Shared Power’ is an information system to help tradesmen share expensive and specialist tools rather than buying them themselves.
Registered owners add details of the tools they have available including the per day and per half day rate for each unit. Other registered users can hire the tools. They can search and check the availability of a tool, up to 6 weeks in advance. If a tool is available it can booked for up to 3 days.
Although tools are usually collected by the hiring user it is possible to arrange a dispatch rider to pick-up or drop off in urgent situations. There would be a charge for this additional service.
Returning a tool late is fined at double the day rate for every day it is missing.
Invoices are produced for all users on a monthly basis. The invoice includes the hire charges for that month together with any delivery costs and late fees. A flat charge of £5 is added to all bills for insurance.
When tools are booked in or out notes (and possibly photos) on the condition of the tool are uploaded to the system. If there is a serious issue of damage or wear with a unit, then the insurance company investigates to
determine who is at fault and if necessary pays for the repair of the tool. When tools are being repaired they are unavailable for hire.
The following items should be submitted as your/your groups deliverables for this assignment.
- Requirements Analysis/Design Document
A requirements analysis document containing the following sections:
1.1. Sea Level Use Cases
Using the techniques you have learned, you should identify system actors, the most important processes and services the system must provide and the relationships between them.
1.2. Scenarios
You should identify and illustrate the most important scenarios or stories about how the system is used. These should include descriptions of how the system is being used in each case.
1.2. Fish Level Use Cases
You should identify at least two sea level use cases and create fish level diagrams for them. Make sure that you have identified use cases that can be further analysed into Clam Level Use Cases
1.3. Clam Level Use Cases
For the Fish Level Use Cases you have created, you should now create at least two Clam Level Use Cases.
1.4. Activity Diagrams
You should use activity diagrams to describe the steps involved in the tasks and processes you have identified for the system.
1.5. Class Diagrams (Optional)
You should use class diagrams to describe the structure you have identified for the system only if you use an object-oriented approach.
2. Implementation
Having thought about how a large-scale system would work you should implement a small-scale prototype using Python.
Your system should implement the key functions you have identified. You are not required to implement an on-line server-based system or use a graphical user interface, just a Python program which demonstrates the
features you have identified. That said, bonus marks will be given for added value on implementation.
2.1. User Interface
You may use text-based menus like the ones you may have created in the lab exercises, for example:
1) Login
2) Search for tools
3) Create new account
4) Exit
Enter your choice:
You may design a Graphical User Interface instead if you wish but it is not a requirement for you to do so.
2.2. Functional logic
You should also write code to implement a version of the basic functions the system provides, using the techniques you have learned including appropriate data structures and techniques (extending these if you wish)
You are not required to implement a client-server model with network connection.
3. Individual Reflective Report
This part of the assignment is based upon your individual contribution to the project together with your experience of working with your group.
Your report should include the following:
a) Any assumptions you made about the problem. Did these assumptions prove to be valid or did they change after further evaluation?
b) How the group was organised. Who did what?
c) A brief account of the work you did – illustrated with diagrams and snippets of code.
d) Any problems you faced.
e) What did you feel were the strengths and weaknesses of your team?
f) What lessons did you learn about yourself from your experiences of working in this team?
4. Group Presentation
The date and time of the group presentations will be posted to BREO nearer the time but will take place in week 14 or week 15.
Your presentation should take between 15 and 20 minutes and include no more than 10 slides. The first slide should include the name and student number for each student in the group.
The presentation should explain the solution you proposed with screenshots of the application being used.
Do not show code on the slides.
Every member of the group must participate in the presentation and there will be a question and answer session afterwards. It is strongly recommended that you rehearse your presentation beforehand.