You are on page 1of 3

Coursework (1 of 2)

Instructions

Module: COMP6226 Title: Software Modelling and Design Lecturer: A. Rezazadeh


Deadline: 13/11/2015, 18:00 Feedback: 11/12/2015 Weighting: 15%

Instructions

This coursework is group work. The group allocation will appear on the course website. If you are not
assigned to a group, please contact me as soon as possible.

Your group/team is responsible for creating software for a small system called BillSplit. The BillSplit system
is composed of two main components: a client-side application, which will run on Mobile handsets, and a
server-side application, which will support and interact with various client-side applications. The system is
designed to facilitate the process of tracking and settling shared expenses. Potential scenarios include paying
rent, splitting a check at dinner, sharing travel expenses, etc.

While the BillSplit mobile application is the main focus of the project, there is also a server-side component,
which will be responsible for database and synchronization services. The scope of the project encompasses
both the server-side and client-side functionalities; so both aspects should be covered in your report.

The BillSplit project is meant to offer a shared expenses solution that is faster, easier, and more convenient
than manually calculating and handling debts. Using this system, members can manage different bills and
payments such as Long-term recurring expenses (e.g. rent, groceries, utilities), Short-term recurring
expenses (e.g. travel costs, food, hotel), and Single expenses (e.g. splitting a bill at dinner). Each member
shares a bill with a group of people and can have multiple bills with different groups, meaning group creation
and management is an essential part of this system.

Your task is in two parts:

1) Your first critical role is to produce a good problem statement/proposal for this system. The next step is to
identify system boundaries and all possible stakeholders of this system. Then, you have to decide what
features users/stakeholders will expect to find offered by such a system. You have to able to present a clear
rationale and good justification for the decisions you make in this section. Based on this, you should
construct and present a clear, rational and coherent requirements document for the product, which makes
appropriate use of the UML. This document should present all relevant aspects of the system, in terms of
functional and non-functional requirements as well as any system constraints. It is advisable to use an
appropriate style such as a tabular format with suitable columns that makes traceability of your requirements
easy. Your report should be divided into appropriate sections. The first page of your report should have an
appropriate title, state the group number that produced it and give a list of its members (including email
IDs). Your report should be presented in a clear and sensible format with headings that are appropriately
prominent and have sensible margins and page numbering. The body text should be no smaller than 12
point.

2) Working from your requirements document, (assuming the project is going ahead) draw up and document
a design for the system. Similar to the requirements document, this should make appropriate use of the UML
and be divided into sections. It is expected that your design document should closely link to your
requirements document and should include all design aspects such as architectural, detailed, database and
user interface design. You can also use visual presentation methods such as wireframe to represent the
skeletal framework of your system interface.

The main body of the report should not exceed 15 pages in total, excluding the Title page, Abstract,
Acknowledgement, Contents pages, References and Appendices. Reports that exceed this limit may be
subject to penalty.

1
Students' attention is drawn to the University regulations regarding academic integrity that discusses
the originality of work.
A recommend structure is as follows:
Title page (includes module information, group information, project name,..)
Abstract
Contents
Acknowledgement
1. Introduction/problem statement
2. Requirements (subsections on functional/non-functional requirements, scope, constraints...)
3. Design (architecture, detailed design, database design, user interface design...)
4. Conclusion
5. References
Appendices
Completed mark distribution form

If you have any questions regarding this assignment please ask your questions in lectures.

Submission

There should be one electronic submission (via Hand-in system) of work per group. Each group should
select one individual who should hand in the work on behalf of the group. Ensure your group ID and the
names of the group members are clearly stated on the front page of your reports.

Submit your work to Hand-in system as Word documents, or Pdf (not both!).

You must also hand in a completed mark distribution form, which is available on the module website, in
which you propose a distribution of marks amongst the members of your group. Each group member should
sign indicating agreement with the proposed distribution. The form should be submitted with your report. In
the absence of exceptional circumstances group members should contribute equally to the coursework.
Significant deviations from equal distribution of marks may be investigated and we reserve the right to
impose a distribution of marks. If you have difficulty completing the form, contact the course team.

Relevant Learning Outcomes (LOs)

1. Acquire experience of working in groups and to recognise inter-personal dynamics in a small team.
2. Understand the importance of requirements elicitation and analysis activity in the software
development process. Reflect and think critically as a component of practice, independent learning
and professional development.
3. Generate a requirements document and conduct an Object Oriented Analysis/Design exercise as part
of a small group. Integrate and synthesise knowledge from academic, professional and vocational
fields into constructive plans of action.
4. Use a CASE tool and the UML notation.
5. Preparation of a formal documentation to a high standard. Evaluate the outcome of implementing a
solution to a problem.

2
Marking Scheme

Criterion Description LOs Total


Problem A clear statement of the current issue, goals, objectives, constraints,
1,2,3 10
Statement/Proposal scope of the project and so on.
Requirements Documentation of assumptions, system boundaries and different
possible user/stakeholders. A detailed analysis including
functional, non-functional requirements and constraints. Precision,
1,2,3 20
clarity and accuracy of requirements (you should present your
requirements both in tabular format with appropriate labelling plus
using Use case diagrams at least).
Overall Design Architecture, detailed design, outline of database design; user
interface design and your approach to security (use E-R diagrams,
coloured block diagrams, UML and Wireframes) 1,2,3 30

Justification Reasons why particular choices were made. Is this a sensible


2,3 10
approach to following good practice?
Consistency Are your requirements and design fit for the purpose? Traceability
of requirements, completeness, low coupling/high cohesion and 3 10
other criteria relating to good design.

UML Accurate and appropriate use of the diagrams (remember use cases
diagram and scenarios for requirement analysis and documentation,
UML: class diagrams, activity diagrams, interaction diagrams and
2,4 10
statemachine for presenting different aspects of your system)
Presentation Quality of English, layout, clarity of purpose, linking between
diagrams and the text of the report; readability and clarity of 5 10
diagrams.

Late submissions will be penalised at 10% per working day. No work can be accepted after feedback has been given. Please note the University
regulations regarding academic integrity. The marking scheme is indicative and all marks returned to students are for feedback purposes. These
marks will be prior to moderation and before late penalties are applied.

You might also like