Tải bản đầy đủ (.pdf) (17 trang)

COMP 1821 practical CW term1 2223 (2)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (357.01 KB, 17 trang )

COMP1821 (2022/23)

Group Coursework

Principles of Software
Engineering

Contribution:
60% of course

This coursework should take an average student who is up to date with tutorial work
approximately 40 hours
Feedback and grades are normally made available within 15 working days of the
coursework deadline
Learning Outcomes:
1 Describe and compare different software process models and explain the merits and constraints
of the various approaches (e.g. plan-based vs. agile-based).
2 Describe the software lifecycle and the activities associated with each phase.
3 Critically evaluate and apply choice of model for given real-world specifications and
requirements.
4 Justify and use appropriate tools and techniques to enhance productivity and quality of software
development.

Plagiarism is presenting somebody else's work as your own. It includes:
copying information directly from the Web or books without referencing the
material; submitting joint coursework as an individual effort; copying
another student's coursework; stealing coursework from another student
and submitting it as your own work. Suspected plagiarism will be
investigated and if found to have occurred will be dealt with according to the
procedures set down by the University. Please see your student
handbook for further details of what is / isn't plagiarism.


All material copied or amended from any source (e.g. internet, books) must be
referenced correctly according to the reference style you are using.
Your work will be submitted for plagiarism checking. Any attempt to bypass our
plagiarism detection systems will be treated as a severe Assessment Offence.

Coursework Submission Requirements




An electronic copy of your work for this coursework must be fully
uploaded on the Deadline Date using the link on the coursework
Moodle page for COMP1821.
For this coursework you must submit a single PDF document. In
general, any text in the document must not be an image (i.e. must not
be scanned) and would normally be generated from other documents
1








(e.g. MS Office using "Save As .. PDF"). An exception to this is hand
written mathematical notation, but when scanning do ensure the file
size is not excessive.
There are limits on the file size (see the relevant course Moodle
page).

Make sure that any files you upload are virus-free and not protected
by a password or corrupted otherwise they will be treated as null
submissions.
You must NOT submit a paper copy of this coursework.
All courseworks must be submitted as above. Under no
circumstances can they be accepted by academic staff

The University website has details of the current Coursework Regulations,
including details of penalties for late submission, procedures for
Extenuating Circumstances, and penalties for Assessment Offences.

2


COMP1821 Coursework Specification
This is a group coursework.
A Group consists of 4 to 6 students. You can only form groups with students within your
tutorial group.
Please include in the appendix a short personal discussion regarding your role and
contribution within the group.
Every member of the cw team should attempt every single task of the cw and document
their work. The purpose of the CW Team is to discuss each of member’s solution then
choose the best one (these may be a combination of solutions from different
member’s). Other team members’ poor/non contribution cannot be used as a justification
for extenuating circumstances. The coursework tasks should not be split among the
members, as most likely this will result to poor overall work. The grades are individual,
based on each team member’s contribution to the tasks as shown in the task pro-forma (see
the deliverables for more detail).

You are expected to submit one output -your group’s final report. Each member of the

group should upload – one PDF file that contains the group’s final report.
You are also required to do a presentation of your proposed system design and
demonstrate the prototype to your tutor.

3


Case study: MobilesForAll.com LTD
MobilesForAll.com LTD is a medium-size chain company spread across the UK that specialises
in selling affordable mobile, tablet and broadband deals. Customers can locate the company by
recommendations from others, advertisement in newspapers and magazines, by visiting the
shops in person or by visiting its online website. Its customer base consists of adults with ages
ranging from 16 – 65.

The company has an automated Customer Relationship Management (CRM) system which
allows Customer Sales Representatives (CSR) to manage the subscriptions. At present, most
orders arrive by phone, or in person, although the company’s website has been live for a few
years now and these are handled by the CSR. The CSR will discuss the new packages and deals
and they may also suggest alternative packages based on specific preferences provided by the
customer. They can also provide customised deals, based on the customers’ requests. If this is
the first time that a customer has requested a specific subscription with the company, then a
customer record is set up by the CSR.

As of late, senior management are very concerned by the decline in subscriptions over the past
few years and this is due to increased competition. In order to succeed and maintain its place
in the market, management believe that they need to be innovative and provide a better
customer experience. Currently, there is no real-time assistance on their online portal and the
company’s customers often experience significant lag-time between purchasing a package and
receiving e-mail confirmations and/or a statement in the post. When customers call to amend
their subscriptions or make any other enquiries, they have to wait an average of 10-15 minutes

before they are put through to a CSR and this is mostly because there are not enough staff to
handle the calls. In a recent customer satisfaction survey, 68% of customers did not feel that
the CSRs had enough information to fully understand the customer’s issues and needs.

In order to provide a richer and faster customer experience, the company plans to develop a
mobile application for recent operating systems such as (Android 4.4 KitKat) which will be
supporting and enhancing their already existing online presence. The app, among other, will
allow customers to view and amend their account (e.g. upgrade or customise packages) and
also pay their bill in real-time. Executives hope that this will help ease customer sales staff and
allow them to focus on additional customer queries.
4


The mobile application initiative is mainly driven by the Marketing department of the
company, with the Marketing Director, Mr Smith, believing that this will help boost their
subscriber base and help them build new, meaningful customer relationships. He believes that
the key to increased market share is having both pure online and hybrid telephone ordering
capabilities, as well as recognising the need to “go out and find customers and not wait for
them to come to us”. Therefore the mobile application is seen as a way to target the younger
audience and more business-oriented people, who are always more inclined and more used to
using their mobile phones and/or tablets for purchasing.

With the development of the new app, the company will have to move to a new CRM system
which will allow them to ‘push’ sales by profiling customers and offering special deals directly
through their mobile app.

You are consultants, called to assist MobilesForAll.com LTD with the development of their
mobile app for customers. They have a tight deadline of 8 months for the app to go live, any
needed staff training should happen within 3 weeks and the analysis, design and development
of the new app should be within the budget of 80.000 pounds as decided by the Senior

Management of the company.

Below is a description outlining the functionality of the new mobile app and of the new CRM
system:

Customers and potential customers can browse and search for packages or deals of interest
via their Android mobile phone. A package is a combination of a number of products, such
as the actual device (mobile, tablet or router) and also the number of free minutes, number
of free SMS, number of free GB etc. Customers can choose from a number of packages,
such as MobileOnly, BroadbandOnly, TabletOnly, which are considered to be the default
packages provided by the company. However, they can also even customize their own
package based on their individual mobile and/or broadband usage (which they would be
able to view via the app) and any other special requests. Customers can also choose from
a number of deals such as the DoublePackage deal (including a combination of any two
packages) or the TriplePackage deal (including all three packages).

5


Customers can make a general enquiry or an enquiry about a specific package or deal.

An order can be placed either online, in person, through phoning the Sales department or
by the customer via the mobile app. Ordering via the app, however, is given an automatic
15% discount, for promotional purposes.

If the order is made via the app, then the customer will have to first register by creating an
account with their personal details (thus creating a profile containing all relevant
information to the customer, such as name, email, address and credit card details), then
choose the new/upgrade package via a menu that appears on-screen and then the order is
processed electronically by the new CRM.


Customers can also use the app to view or amend their account and also settle their bill in
real time. When customers would like to settle the bill, they should be able to login first.
The only means of payment permitted is credit card. The checking of credit card details
will be done by the company’s bank, through a link to a system known as VISACheck.
After the payment is finalised, the Customer Sales Representatives (CSR) will trigger the
system to send an email receipt to the customer.

If a customer phones the Sales department to place an order, then the CSRs will have to
follow a verification process to attempt to identify the person calling, even if they are new,
and will then be able to bring up an existing customer account or create a new account for
new customers.

The CRM system should also allow sales representatives to access all packages in order to
inform the customer accurately about prices and products and also allow them to deal with
any enquiries submitted from a customer via the app. The CRM system should furthermore
be able to check whether the packages selected by customers are available, calculate the
total, process a payment and verify card details. The total of an order would be the sum of
the deal or package required, minus the discount and/or minus the special offer (depending
if the customer would like to use the special offer code).

The customer sales representatives should finally have the capability to profile customers
based on the packages they use. Based on these profiles, special offers will be created and
6


sent to the customers via their app. The customers can use these special offers by typing
the special offer code directly into the app.
The company’s president, Mr Brown backs the new app and the new CRM system they have
to move into, and believes that it will provide an ideal opportunity to ‘push’ sales through

profiling customers and offering special deals. This move aims to cut costs significantly,
provides a better way to cope with rapid growth and increases revenues through customer
profiling. He believes that this new app will improve existing customer satisfaction, which is
his number one priority.

The Sales Director of the company, Mr Jones, however, has different ideas about the new app.
He believes that they need to reach out to new customers and try to attract customers of
different ages and backgrounds rather than just targeting the younger audience.

The customer Sales Representatives on the other hand are not very excited with the decision to
move to the new CRM system which will support the mobile app. They feel that dealing with
customers in person is better and actually this is what makes them coming back. They feel that
the reason the online system was not widely used was the lack of personal contact and therefore
they are more in favour of furthering the development of the online system to provide a realtime support by them rather than spending thousands of pounds for building an app. They
believe that their friendly and welcoming approach as well as their ability to customize
packages for customers is irreplaceable. Nevertheless, they still express concerns about losing
their job as they believe that the new CRM system will replace their responsibilities.

7


Requirements
Individually and as a group, you should
1. Discuss within your cw team - the 5 Ps relevant to the given case study and
document them.
2. Produce a preliminary design using traditional, structured methodologies, covering
the full functionality of the proposed new system. The design should include:
• Entity Relationship Diagram which represents the Conceptual Data Model of the
scenario described in the case study as captured by discussions with the client. You
are required to distinctly show all entity types, attributes (including primary key

attributes) and relationships, as well as determine the structural constrains
(cardinality and participation constrains) of each relationship
Data Flow Diagram which represents the Process Model of the specific functional
requirements based on the same case study that you modelled against for the
Entity Relationship Diagram. You are required to include the level 0 DFD (context
diagram) only.
3. Implement a database based on the design produced as per above requirements. The
prototype database is to be built using any competent technology/tools you are
familiar with (MS Access is fine for the prototype)
Once you built the database, it should provide enough functionality to be able to run
the following SQL queries:
• Add a product to the system (you should indicate its category/type, e.g.,
mobile, tablet or router etc)
• Delete a product.
• List all products for a particular category/type
• Create/Customise a package
• Create an order for package (with date and time stamp) for a particular
customer
• Pay for a billl.
4. Create the proposed system design using object-oriented methodologies, to allow
for more flexible design/build iterations and re-use of design and code. The design
should include
• Use Case Analysis - A UML Use Case diagram identifying all actors and their
Use Cases.
• Interaction Diagrams. Using UML sequence (interaction) diagrams perform
an analysis of three main Use Case scenarios.
• Design UML Class Diagram – Show all attributes, methods, and associations
with multiplicity for all main classes.
8



Deliverables (due by the submission date)
1) A final group report which should include:
a) A discussion regarding the 5 Ps relevant to the given case study (2000-2200 words).
Within the discussion you should include:
i) Problem: a short description and a rich picture
ii) Process: Describe and compare at least two software process models and explain
the merits and constraints of these approaches for the given case study. Choose
one process model and discuss what roles each of your team members would
perform within the process life cycle. Further elaborate on your software life cycle
and the activities associated with each phase.
iii) Project: state the goal of the system, a list of resources, and a breakdown of the
budget (providing the framework within which management can be performed).
iv) Product: State the artefacts that are created during the life cycle of the project,
such as models, source code, executables, and documentation.
v) People: describe the prime movers in the software project.
b) A list of functional and non-functional requirements.
c) Structured design, including:
i) Entity Relationship Diagram which represents the Conceptual Data Model of the
scenario described in the case study
ii) Data Flow Diagram. You are required to include the level 0 DFD (context
diagram)
iii) screenshots of the prototype database, including screenshots of the results for
all the SQL queries created for requirement 3.
d) The UML diagrams from Requirements 4.
e) Identify where you used GRASP patterns in your design, with examples. You should
discuss at least five GRASP patterns.
f) Completed a Self-Assessment form found in the coursework specification.
g) A completed copy of the work breakdown form on the last page of the coursework
specification. As a group you will fill in and attach to the report a pro-forma (included

the end of this document) that will enumerate all the tasks that your group tackled
and completed as part of this coursework, and the involvement of each member of
the group in each task. This will be used in part to establish the individual contribution
of each member of the group. The pro-forma must be agreed and signed by all
members of the group.
h) An appendix with
i) Any additional functionalities extracted from the discussion with the client or you
proposed as assumptions (subject to the client’s agreement)
ii) A short personal discussion regarding your role, your contribution within the
group and how you liaised with the other team members.

9


2) System prototype demonstration.
As part of the software development cycle an acceptance testing will need to be
carried out. For the acceptance testing your group needs to do a presentation to the
client (in this case your tutor) to demonstrate the design and the prototype database
you have built.
For your demonstration create a short ppt presentation (2-3 of slides per member).
The presentation should include an introduction of the team members and their roles.
Within the presentation you are going to demonstrate the required business
functionality and show the adherence of the implemented system to the submitted
design.

10


Grading Criteria
80-100

Exceptional

70-79
Excellent

60-69
Very Good

50-59
Good

40-49
Satisfactory

0-39
Fail

Fail marks will be awarded to solutions showing no (or insufficient) knowledge and/ or
understanding of techniques applicable to software engineering. Most deliverables are
missing in the submission, or they don’t include most of the required elements.
Satisfactory marks will be awarded to solutions showing limited knowledge and /or
understanding of techniques applicable to software engineering. The required technical
principles, techniques and methods are remembered and applied to a limited degree. Some
deliverables are missing in the submission or they miss some of the required elements.
Good marks will be awarded to good solutions showing the ability of the student to apply the
theory to the concrete problem posed. The required technical principles, techniques and
methods are remembered and applied accurately. All deliverables are present in the
submission and contain most required elements.
Very good marks will be awarded to very good solutions showing the ability of the student to
apply the theory to the concrete problem posed. The required technical principles, techniques

and methods are remembered and applied accurately. All deliverables are present in the
submission and contain all required elements. Good coverage of assessment specifications
alongside mostly accurate knowledge and understanding of main concepts and theories
Excellent marks will be awarded to students who produce excellent solutions demonstrating
understanding of the system analysis & design. Complete solution which is consistent
throughout. All deliverables are present in the submission and contain all required elements
and these are of high quality in terms of both content and presentation. Comprehensive
coverage of assessment specifications alongside accurate consistent knowledge and
understanding of main concepts and theories.
Exceptional marks will be awarded to students who produce exceptional solutions
demonstrating understanding of the system analysis & design, and their discussions show that
knowledge is open to on-going debate. Complete, optimised and effective solution which is
consistent throughout. All deliverables are present in the submission and contain all required
elements and these are of high quality in terms of both content and presentation.
Comprehensive coverage of assessment specifications alongside accurate consistent
knowledge and understanding of main concepts and theories.

11


Assessment Criteria
Marks breakdown:
The analysis and design:










A discussion regarding the 5 Ps relevant to the given case study (24 marks)
o Problem: 3 marks
o Process: 10 marks
o Project: 4 marks
o Product: 3 marks
o People: 4 marks
A list of functional and non-functional requirements: (5 marks)
o 5 marks (around 15 requirements in total)
Structured design, including: (25 marks)
o Entity Relationship Diagram: 8 marks
o Data Flow Diagram: 5 marks
o screenshots of the prototype database, including screenshots of the results
for the SQL queries created for the Part 1 of the requirements: 12 marks (2
marks for each)
The UML design (26 marks)
o Use Case Diagram- 8 marks
▪ Marks given for using correct symbols, correct use cases and actors,
correct use of include and extend types of relations
o Design Class diagram - 9 marks
▪ Marks given for using correct symbols, correct classes (including
attributes and methods), correct use of relations, completeness
o Sequence diagrams (three) - 9 marks
▪ Marks given for using correct symbols, correct objects, correct use of
communication (and naming), completeness
Use of patterns – (5 marks)
o Correct explanation of using GRASP (1 mark each – 5 correctly identified
patterns)


Acceptance testing (demonstration) (10 marks):
The marks will be given based on the System prototype presented:
• Does the product have the required tables and records created?
• Do the desired SQL queries run?
Accurate Self–assessment/ Peer-assessment (5 marks)

12


Self-Assessment Sheet – on the next page
Place a tick in the box that you deem to be most indicative of the quality of the work use
the marks mapping below.
Marks mapping:

80-100
Exceptional

70-79
Excellent

60-69
Very Good

50-59
Good

40-49
Satisfactory

0-39

Fail

A

B

C

D

E

F

Please include comments for each section of the self-assessments. Also, please state the
names of the students who completed that particular task
Note: You must submit this self-assessment together with the report. The boxes in bold are
for the tutor.
A

B C D E F Comments

the 5 Ps
• Problem: 3 marks



Process: 10 marks




Project: 4 marks

13




Product: 3 marks



People: 4 marks

functional and
non-functional
requirements:
5 marks

Structured design,
• Entity Relationship
Diagram
8 marks



Data Flow
Diagrams.
5 marks




SQL queries
12 marks

14


UML Design
Use Case Diagram 8 marks

Design Class diagrams - 9
marks

Sequence Diagrams –
9 marks

Use of patterns –
5 points

15


Acceptance testing
(demo)
- 10 marks

Accurate SelfAssessment
- 5 marks


Possible AO?

Group members work contribution form
In percentage, please indicate the work contribution of each member. This should be agreed by all
group members. The total of all members’ work must add to 100%
You must submit this form in the final report. Put your initials in the signature columns.
Each member must also bring a copy to the demonstration. This copy must be signed by all members.
Group/Team Name:________________________________________________
Team member name

Student ID

individual overall work
contribution (%)

Signature

Student1:
Student2:
Student3:
Student4:
Student5:

Total 100%

16


Student 5:
work contribution in

%

Student 4:
work contribution in
%

Student 3:
work contribution in
%

Student 2:
work contribution in
%

(for example: creation of Use case diagram)

total

Student 1:
work contribution in
%

Describe each task you performed

Task:

100%

Task:


100%

Task:

100%

Task:

100%

Task:

100%

Task:

100%

Note: The contribution should indicate the effort each member contributed within a task (even if
in some cases the solution of only one student was chosen for as the final one)

17



×