Anda di halaman 1dari 11

LD7092 Principles of Software Engineering-Assignment Brief

COURSEWORK ASSESSMENT SPECIFICATION


Module Title: Principles of Software Engineering
Module Number: LD7092
Module Tutor Name(s): Hassan Baajour
Academic Year: 2019/2020
% Weighting (to 100%
overall module):
Coursework Title: Assignment
Average Study Time 60-70 hours to complete assignment
Required by Student
Dates and Mechanisms for Assessment Submission and Feedback
Date of Handout to Students:
During Week 1 of teaching
Mechanism for Handout to Students:
Blackboard
Date and Time of Submission by Student:

TBC

● Part A: Component 1: Software design and project prototype


● Part B: Component 2: Critical-Evaluation
Mechanism for Submission of Work by Student:
The reports must be submitted via Turnitin. The source code MUST be uploaded to eLP.

Date by which Work, Feedback and Marks will be returned to Students:


Within 20 working days after submission of this assignment

Mechanism for return of assignment work, feedback and marks to students:


Formal feedback will take place following completion of all reviews and internal
moderation of results.

Learning Outcomes Tested in this assessment:


The following learning outcomes will be assessed by this assignment:
1. Demonstrate critical knowledge and understanding of appropriate software
engineering theories, technologies and methodologies
2. Ability to apply software engineering knowledge to a complex business
challenge or project
3. Critically reflect on professional, legal, social, security and ethical issues related
to the design, development and use of software in an organisational context.
4. Ability to critically evaluate your Software Engineering skills
5. Demonstrate problem solving skills in complex situations in the context of the
design, development and use of software solution.

Page 1
LD7092 Principles of Software Engineering-Assignment Brief

Assignment Overview:

The assignment is divided into two components as follows:

Practical Solution Individual Work– design and development of a program prototype


Prototype solution using Java based on the case study given below. This
(50%) activity assesses module learning outcomes 1, 2 & 5. (2000 words)
Critical Discussion Individual work - critical discussion of some issues relating to
(50%) Software engineering. This activity assesses module learning
outcome 3 & 4. (2000 words)

General description

Case Study: Hastings Dental Care House


Hastings council has built a new Central Dental Care House in the city and they want
to create a new digital information management system instead of the old one, where
data recording, searching and updating is mostly done manually using Microsoft Word
processing package. The director now feels that a fully computerised system is
needed as it would give better support to their operations and better services to their
customers. It is expected that staff will use the new system to support and record the
tasks they carry out including booking, deleting, updateing appointments, managing,
and organising the use of business resources, logistics and facitilities.
The new system should allow staff and patients to use it easily and efficiently.
Customers who want to book appointments for themselves or their family members
have two options: calling by phone or making online booking, however, they need to
be registered by admin first. Hastings Dental Care House (HDCH) is open Monday to
Friday and can accommodate up to 44 patients per day except Friday – only 22
patients.
HDCH centre is proud of their new built centre, which is quite comfortable, equipped
with modern facilities, and provides high quality of services including free
transportation for elderly and disabled patients. However, other customers can use the
center transportation facitilty but they need to pay for that.
The new system will keep track of the number of bookings that have been made on
each day. Appointments bookings via phone should be recorded in the new system
immidiately. A booking can only be confirmed if there is available slot. So, when a
patient requests appointment by phone or make appointment online, if the booking is
successful, the system records it and send a confirmation either by sms messages or
via email. Any confirmation message should include all relevant information such as
day, time and date, any special arrangements e.g. pickup and dropoff is needed.
If the customer is a new one, their name and contact details should be taken and
recorded in the system, along with other relevant details such as gender, age, medical
notes and any other relevant notes. For repeat bookings, any of these details can be
updated as necessary, including changning patient regular doctor. To complete any

Page 2
LD7092 Principles of Software Engineering-Assignment Brief

booking and before sending any confirmation, a £10 deposit for each appointment will
be automatically taken/deducted form the patients account/balance. Patient can
always cancel the appointment 24 hours before the appointment date/time, and the
£10 will be fully refunded to patient.
Admins and customers will be able to review the bookings history and payments
already made. However, customers can view their current balance as well, whereas
doctors can see treatment history. The director thinks that, it would be helpful if the
new system alerts the customer automatically, when their balance is lower than £10.
Appointment bookings are eventually cancelled if the rest of payment is not received
on the day/time of the appointment. Also, if a patient is late (30 minutes) for an
appointment, the system would cancel it and should notify the admin and patient
automatically. Moreover, the system will produce a warning for first time patient
absence/late, and £25 fine second time this happens, and should notify the patient of
this.
There are currently 6 doctors available in HDCH, 2 administration, 2 drivers, receiption
staff and a manager. All of these staff work full-time except the drivers who are
working as freelance, but they should be able to view their tasks in the system as well,
but after they login first.
The administration staff deal with the scheduling and booking of appointments, along
with enquiries, in addition, they should be able to appoint alternative doctors for
patients in case the regular doctor is absent. It should also be possible to report on all
of the bookings to admins at any one point, together with all of the cancellations taking
place. The manager should be able to organize the logistics and equipment of the
surgery and should be able to update the system with all available tools and devices
required to treat patients. Only doctors will be able to view the patient history
treatments. Also, they should be able to cancel or allocate appointments to other
colleagues as well.

Tasks

Using the provided case study, develop a solution from a software architect’s
perspective that includes the following:

● Produce a use case diagram to model the functional requirements from the
scenario narrative.
o Showing actors and the use cases they perform.
o Use inheritance where necessary of both use cases and actors.
o Use of <<includes>> and <<extends>> where necessary.
o Use house style model to document one primary use case.
● Produce a class diagram to model the system structure you propose for your
potential solution. Decouple as much as possible with Boundary, Control and
Entity classes. Consider a design pattern for this (In your commentary, justify the
use of the chosen design pattern, on the other hand, if you do not use it, justify
why). This should include:

Page 3
LD7092 Principles of Software Engineering-Assignment Brief

o Detailed classes with all key variables/attributes and datatypes with


access modifiers (private, public or protected) clearly shown in adherence
to encapsulation principal of OOP and multiplicities of the relationships.
o Procedures or functions with (parameters and their datatypes shown) as
well as return type for the class functions. (see diagram below)
o Use of class relationships (e.g. dependency association, aggregation,
composition and inheritance).
o Consider the use of design patterns in your proposed solution.

An example of a detailed class diagram

● Produce a sequence diagram to model functional requirements from the scenario


narrative for one primary use case.
o Showing actors and interacting objects.
o Messages (Methods) calls between objects with parameters and return
types were necessary.
o Use of alternatives and loops where necessary.

An example detailed sequence diagram

Page 4
LD7092 Principles of Software Engineering-Assignment Brief

Program:

● Develop the proposed solution using OOP language such as Java with a modern
IDE such as NetBeans. Produce a test plan and test cases. NOTE: The solution
is only going to be a prototype of the software architect level but a skeletal code
should be produced. You do not need to write advanced level functionality into
the methods or permanent data storage but you must build and design the Forms
(JFrames) and link them to each other with relevant GUI components such as
buttons, text fields, labels etc.

Task: Reflection and Critical Evaluation: (50%, Learning Outcome 3 & 4)

You are required to write a report that contains a critical discussion, reflection and
evaluation. Name your report using your user ID, e.g. w1612345report.

Given that, please address the following topics in your discussion:


● Using software engineering literature, critically evaluate the Software
Development Life Cycle (SDLC) methodology you have chosen for your
solution development with examples from your work.
● Critically reflect on professional, legal, social, security and ethical issues related
to the design and development of your solution.

References

The online Northumbria Library is a good source of references at this academic level
as the Library subscribes to the leading information sources in Computing. Since
Computer Science is highly dynamic, recent references to conference and journal
papers from the last five years are preferred.

This is meant to be a critical discussion and not just a description of things such as
Java. Your discussion should not be limited to your practical system, but a discussion
of the broader issues involved.

Your discussion for the practical solution commentary should contain 2000 words
and for the critical evaluation 2000 words and should be presented in the form of a
word document and submitted to eLP Blackboard.

References must be used in order to strengthen any points that you raise in your
discussion.

Your discussion must be your own words and, where you have used someone else’s
words (quotations), they should be correctly quoted and referenced in accordance to
the Harvard or APA System. If you require guidance on citation, please use the booklet
‘Cite Them Right’ available from the City Campus library.

References are not included in the word count.

Additional Programming Requirements:

Page 5
LD7092 Principles of Software Engineering-Assignment Brief

Your code must comply with the following requirements:


● OOP language such as Java should be used as the programming language.
● Use an industrial strength IDE
● The program should be executable (i.e. no compile time errors that prevent it
from being executed).
● Project directory should be attached to your word document with the
commentary in a zip file. Simply submitting individual .java files will receive a
mark of Zero for the program section.
● Use meaningful naming conventions for variables, methods and classes.

Page 6
LD7092 Principles of Software Engineering-Assignment Brief

Marking Scheme

The following marking scheme will be used for this assignment:

Description Marks

Practical Solution (50%)


Use case model 10
Logical design showing:
● Correct Actors and associations.
● Efficiency showing inheritance (generalisation/specialisation) of actors
and use cases.
● Use case documentation using house style.
Class diagram: 10
Logical design showing:
● Encapsulation and abstraction.
● Efficient design (Inheritance, composition and aggregation where
applicable).
● Functions and Procedures with parameters and return types
● Use of design patterns.
Sequence diagram: 10
A logical design showing:
● All objects involved in the use case.
● Messages/Method calls that match method names from your class
diagrams.
● Parameters and return types shown.
● Control structure using alternatives and loops
Program: 20
A working prototype which reflects the class diagram designs.
Use of coding standards, comments.
OOP principles (inheritance, encapsulation, polymorphism where
applicable).

Critical Discussion (50%)

Introduction, conclusion and self-reflection on your work 10


Critical evaluation of SDLC and justification of chosen methodology in context 15
of
your solution
15
Critically reflect on professional, ethical and security issues related to the design,
development and use of software in an organisational context.

Page 7
LD7092 Principles of Software Engineering-Assignment Brief

Citations and references 10

Two parts :

Practical Solution Prototype (50%) Individual Work– design and development of a


program prototype solution using Java based on the case study given below.
This activity assesses module learning outcomes 1, 2 & 5. (2000 words)

Critical Discussion (50%) Individual work - critical discussion of some issues relating
to Software engineering. This activity assesses module learning outcome 3 & 4.
(2000 words)

For part 2, you are required to write a report that contains a critical discussion,
reflection and evaluation including the following:

Describe briefly the work you've done in first task.


Explain and discuss the role of Object Oriented Modelling and UML diagrams in
designing your solution.
Critically evaluate the learned lessons, the limitations of your designs and any
improvements that could be done to your design and implementation.

You need to address the following topics in your discussion as well:

Using software engineering literature, critically evaluate the Software Development


Life Cycle (SDLC) methodology you have chosen for your solution development
with examples from your work.
Critically reflect on professional, legal, social, security and ethical issues related to
the design and development of your solution.

Total Marks Available: 100

Note: The marks awarded will be converted to a percentage in order to obtain the final
mark for the assignment.

Academic Integrity Statement: You must adhere to the university regulations on


academic conduct. Formal inquiry proceedings will be instigated if there is any
suspicion of plagiarism or any other form of misconduct in your work. Refer to the
University’s Assessment Regulations for Northumbria Awards if you are unclear as to
the meaning of these terms. The latest copy is available on the University website.
Page 8
LD7092 Principles of Software Engineering-Assignment Brief

https://northumbria-cdn.azureedge.net/-/media/corporate-website/new-sitecore-
gallery/services/academic-registry/documents/qte/assessment/guidance-for-
students/pl,-d-,005-v003-academic-misconduct-
policy.pdf?modified=20190605171211&la=en&hash=A55A56D5BAD5746FC530D31
C6291B10F861275CE
(last accessed on 05th August 2019)

Formative Feedback
There will be an opportunity for formative feedback during the semester. You are
advised to start working on this assignment as early as possible so that you can seek
clarification from the module tutor regarding any questions you might have during the
semester. Note that tutors will not predict your grade, and you should not take the lack
of comment on any aspect of your work as indicating that it is correct. You should
make every effort to take advantage of formative feedback as tutors will not comment
on draft work at other times. Remember that you will get more useful feedback from
us by asking specific questions than just presenting us with your documentation and
asking, ‘Is this right?’

Penalties for Exceeding Word Limits:


The following penalties will be applied after any reductions in mark due to late
submission have been made, Penalties will be applied as defined in the University
Policy on Word Limits Policy.
https://www.northumbria.ac.uk/-/media/corporate-website/new-sitecore-
gallery/services/academic-registry/documents/qte/assessment/guidance-for-
students/word-limits-
policy.pdf?la=en&hash=D06E866BA9C788D7B1FD8EE3E7E3F34026CE9673
(Last accessed on 05th August 2019)

The actual word count is to be declared on the front of the assessment submission.

Late Submission Policy:

Page 9
LD7092 Principles of Software Engineering-Assignment Brief

For coursework submitted up to 1 working day (24 hours) after the published hand-in
deadline without approval, 10% of the total marks available for the assessment
(i.e.100%) shall be deducted from the assessment mark. Penalties will be applied as
defined in the University Policy on the Late submission work.
https://northumbria-cdn.azureedge.net/-/media/corporate-website/new-sitecore-
gallery/services/academic-registry/documents/qte/assessment/guidance-for-
students/late-submission-of-work-and-extension-requests-
policy_v2.pdf?modified=20190619071234&la=en&hash=C112B22E14B9075D4E92
C6A5842088F7921BAAA4
(Last accessed on 05th August 2019)

For clarity: a late piece of work that would have scored 65%, 55% or 45% had it been
handed in on time will be awarded 55%, 45% or 35% respectively as 10% of the total
available marks will have been deducted.

Failure to submit: The University requires all students to submit assessed


coursework by the deadline stated in the assessment brief. Where coursework is
submitted without approval after the published hand-in deadline, penalties will be
applied as defined in the University Policy on the Late Submission of Work.
https://northumbria-cdn.azureedge.net/-/media/corporate-website/new-sitecore-
gallery/services/academic-registry/documents/qte/assessment/guidance-for-
students/late-submission-of-work-and-extension-requests-
policy_v2.pdf?modified=20190619071234&la=en&hash=C112B22E14B9075D4E92
C6A5842088F7921BAAA4
(Last accessed on 05th August 2019)

Marking Criteria
Since the elements above are wide ranging, general criteria are given that are
applied as a percentage to each component of the portfolio. In the following, ‘writing’
is understood to apply both to coding and English

Percentage
Fail (0 – 29%) A very poor contribution showing little
awareness of subject area. Lack of clarity.
Communication of knowledge is either
inarticulate and or irrelevant. Design does not
meet requirements, or not written using Java,
Code fragments from the Internet may have
replaced student written content to the extent
that it is not possible to determine what the
student has understood.
(30 – 39%) Knowledge is limited or superficial. Some
awareness of concepts and critical appreciation
are apparent, but there are major omissions or
misunderstandings. Writing is not clear or coding
is unstructured and there is no argument or
significant errors. Design does not give correct
solutions to any of the interface requirements
(40 – 49%) Knowledge is barely adequate. Writing is fluent,
and coding functional but mostly, description

Page 10
LD7092 Principles of Software Engineering-Assignment Brief

and or assertion are used rather than argument


or logical reasoning. Program may be
unstructured. A basic
Understanding of the key issues is
demonstrated, but insufficient focus is evident in
the work presented.
Pass (50 – 59%) Knowledge base is up-to-date and relevant to an
appropriate breadth and depth for level 7. The
student has demonstrated the ability to apply
theory and concepts, across domains and
identify their
Interrelationship. A critical appreciation is
demonstrated, which is supported by
appropriate references. Writing and coding are
clear and
Accessible if a little uneven.
(60 – 69%) As above but there is clear evidence of
independent thought and reasoned conclusions.
Literature is fully supported by citation using
appropriate references and there is
development of a critical appreciation of
opposing arguments. Programs will be fully
object
Oriented and easy to follow. Presentation of
work is fluent, focused and accurate.
(70 – 100%) Exceptional scholarship is demonstrated. There
is a sustained ability to confront the current limits
of knowledge in a relevant area, or applied ‘real
world’ contexts where demands of theory and
practice
May conflict. Argument is fluent, sustained, and
convincing. Programming standards are
professional and the site is well secured.
Clearly exceeds taught material.

Page 11

Anda mungkin juga menyukai