University of Westminster – College of Design, Creative and Digital Industries School of Computer Science and Engineering
Assessment for 5COSC003W Software Development Group Project
Scenario
We are a large multinational organisation. We process data, analyse them and present them graphically. We make most of our software available as open source1. We make most of our media available through Creative Commons2. We make lots of money from support services and bespoke software enhancements. We expect our employees to be professional, ethical and compliant with the relevant laws, to manage themselves and their relation to others, and to deliver high quality products and services and deliver them on time. You are employees of this organisation. You have been asked to work in teams and create a program that analyses data related to research projects that are funded by the European Union (H2020 calls) and present the results graphically to users. Your work will be assessed in coursework 1 (design) and coursework 2 (implementation).
Company structure
1 See http://opensource.org/
2http://creativecommons.org/
3 If you don’t know what CEO, CIO, CFO or CSO mean, look them up. It’s good to be curious about such things. 4 ‘aka’ means ‘also known as’.
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 1
CEO/CIO/CFO/CSO3 aka4Module Leader: Strategic planning, support of tutors.
Aleka Psarrou
Senior Managers / Mentors aka Tutors:
Weekly support and guidance for project teams (that’s you), solve (rarely) team issues. Evaluation / appraisals of project teams and all work you produce and your professional conduct.
Barbara Villarini, Aleka Psarrou, Paul Howells Adem Coskun, Klaus Draeger, Panos Chountas
Project teams aka you in groups:
Team members will provide peer feedback to each other, test each other’s work, point out flaws that need fixing. Each team is allocated one distinct set of data.
Project team member aka each of you:
Each of you will work as part of a team but you will have a different task to do that contributes to the overall project. The allocation of tasks in each team member is decided by the team. Collectively as a team you will need to:
• model the data using conceptual and logical diagrams
• design the use cases, sequence diagrams, class diagrams and test plans for your data
• read the data from a file into a structure that suits your specific problem
• design and develop a front-end to create accounts for users, access and display the data
• develop appropriate classes to query, analyse and graphically show the data
5COSC003W students
Coursework description
The application
Each team will be given a set of data that includes information on organisations that have participated in EU projects funded under H2020, unique to that team. A separate spreadsheet common to all contains information that describes all the projects funded by EU under H2020. Each team will need to develop a working, stand-alone application, making use of the knowledge you have gained in all the other three core modules this academic year: Object oriented programming, Databases and Client- Server architectures. The functionality of the application has two parts: a) login into the application and administration of the users’ login activity b) be able to read data from a database and query and display data in a graphical form. In detail your application should include the following functionalities:
1. Allow users of your application to register with username and password
2. Allow users to enter the application using their username and password
3. Log the user’s activity
4. Show to the administrator of the system the log of user activity for all users
5. Read data from the files into appropriate table structures which you will design – the table design can be created using mySQL or SQLite
6. Allow users to display the data graphically and search the data based on keys of your choice.
Each member of a group will be responsible to develop one graphical representation of the data or administrator and login panel and search functionality. The part developed individually should then be able to link to create a complete application.
Connect all the individual graphical visualisations and display the result to the user as one application including the login/admin front end.
Working in a group
Everyone in the same team will be using the same source data. Talking to each other is encouraged. Checking each other’s work and providing feedback to each other is part of the coursework itself: it is something you will be expected to do. However, doing each other’s work is absolutely not allowed; it will be against university regulations and appropriate penalties will follow.
At appropriate times (look at the schedule) you will be asked to comment on each other’s work. These comments will have to be recorded on-line. You will also need to take on board the comments of your team-mates on your own work, and specify how you used them.
What does each application look like?
As an example of what a professional application may look like take a look at the website in the following link:
https://webgate.ec.europa.eu/dashboard/sense/app/93297a69-09fd-4ef5-889f-b83c4e21d33e/sheet/erUXRa/state/0
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 2
You are required to do something similar, however for any user to view the data, the user should first register and then login into the website. The number of graphs and tables displayed after the user is logged in will depend on the number of students in each team. The user will see the results by a combination of graphical representations. Each member of the team should implement a graphical display and one member will implement the administrator panel. The data that will be presented can be selected by a menu, check box or buttons etc. All graphs need to be done by writing the algorithm for them but use your own HCI expertise to do it correctly. Ensure that user registration and logging of user activity is performed and is available to view by the system administrator.
Coursework 1 Project Design Coursework 1 administration
Module Leader Aleka Psarrou
Unit Coursework 1
Weighting 40%
Qualifying Mark 30%
Description Group coursework
Learning Outcomes Covered in this Assignment
LO1 gain practical experience of software project management throughout the software lifecycle with analysis of a problem domain towards a solution that can be demonstrated to be ready for beta-testing;
LO3 be able to design/apply appropriate testing methods and tools to evaluate software performance;
LO4 gain practical experience of working as a member of a software development project team demonstrating collegiality and professional standards of conduct in communication, time management, project documentation and version control;
Available on Blackboard Wednesday 22 January 2020
Due date Wednesday 26 February 2020, 1pm – all students should submit their coursework – the template includes both group and individual parts
Start thinking about it Now
Expected Deliverables
No later than the due date and preferably a few days earlier upload a document (which must use the template you will find on Blackboard) that includes:
• The conceptual model representing the data in your problem domain, incorporating comments by your tutor from previous tutorials
• The logical model representing the components of the system you will be implementing
• The Use cases, sequence and class diagrams for each of the tasks
• Your proposed test plan for each of the components, incorporating comments by your tutor from previous tutorials
• The tables that you need to create to store the EU data and user data for your application.
• The comments you received from your team-mates about your application and how you dealt with them
• The comments you have given your team-mates about their applications
• Your record of engagement with the module demonstrating time management
Added regularly on-line:
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 3
• Minutes of meetings and agreements
• On-line discussions
• Research links
On week 7 (during your tutorial):
• Assessed presentation [All team members must be present. Any team member that is not present will receive a maximum mark
of 30%. Submission of MCs is required if you cannot present on that day]
Method of Submission Online via Blackboard. Instructions will be on Blackboard well before the deadline.
Feedback before During tutorials from tutors (verbal) and from team-mates (peer feedback, verbal and online) submission
Feedback after • Feedback from tutors (verbal)
submission • Written feedback and marks 15 working days (3 weeks) after the submission deadline. All marks will remain provisional until formally
agreed by an Assessment Board.
BCS Criteria covered in this Assignment:
2.1.1 Knowledge and understanding of facts, concepts, principles & theories 2.1.2 Use of such knowledge in modelling and design
2.1.3 Problem solving strategies
2.1.6 Recognise legal, social, ethical & professional issues
2.1.7 Knowledge and understanding of commercial and economic issues
2.1.8 Knowledge of management techniques to achieve objectives 2.1.9 Knowledge of information security issues
2.2.1 Specify, design or construct computer-based systems
2.3.1 Work as a member of a development team
2.3.2 Development of general transferable skills
3.1.2 Methods, techniques and tools for information modelling, management and security 3.2.2 Defining problems, managing design process and evaluating outcomes
3.2.3 System Design
Assessment Regulations See last section of this document on regulations
Coursework 1 marking scheme
The Coursework will be marked based on the following marking criteria:
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 4
Criteria
Marks per component5
Marks provided
Comments
Conceptual and logical ERD
Accuracy and completeness of model (it should not have mistakes; it should not have data missed)
15
Screenshot of database
5
User interaction design
Story boards (wireframe and mock up)
10
UML diagrams
Use case diagrams
10
Sequence diagrams
15
Class diagrams
15
Use case tests
Use case test tables
10
Professional conduct
How you engaged with your team-mates to get their comments on your work and how you dealt with their comments professionally
5
The comments you have given your team-mates (including your justification for each)
5
Time management and documentation version control
Your record of engagement with the module demonstrating time management and proper documentation
10
Total
100
5Do your best in all sections; those who go for the minimum pass mark in each may never survive in industry and may end up unemployed.
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 5
Coursework 2 Project Implementation Coursework 2 administration
Module Leader Aleka Psarrou
Unit Coursework 2
Weighting 60%
Qualifying Mark 30%
Description Individual coursework (supported by the group)
Learning Outcomes LO2 following distinct software development phases and considering and applying HCI principles, produce code that is clear and easy to Covered in this integrate;
Assignment LO3 be able to apply appropriate testing methods and tools to evaluate software performance;
LO5 evaluate security risks and demonstrate how computer security decisions affect software development.
LO6 be aware of ethical and legal considerations of a software project, including issues of intellectual property and data protection
Available on Blackboard Wednesday 22 January 2020
Due date Wednesday 8 April 2020, 1pm – all students should submit code and document as in template
Start thinking about it Now
Expected Deliverables
On due date:
• The code (all project files) with the implementation of your system, incorporating comments by your tutor from previous tutorials
(the tutors should be able to run your program by just clicking on your submitted work)
• The output of implementing your test plan
• Your list of HCI issues you have addressed (and how you addressed them) and any HCI issues still remaining; this should be in
comments within your code.
• Your list of security risks you have addressed (and how you addressed them) and any security risks still remaining; this should be in
comments within your code.
• Your plan to manage legal and ethical constraints appropriate for your problem domain, supported by appropriate research
• The comments you received from your team-mates on the quality of your code and documentation how you dealt with them
• The comments you have given your team-mates on their code, documentation and evidence of version control
On week 12 in your tutorial:
• Assessed group demonstrations [All team members must be present. Any team member that is not present will receive a
maximum mark of 30%. Submission of MCs is required if you can’t demonstrate your work on that day]
Added regularly on-line:
• Minutes of meetings and agreements
• On-line discussions
• Research links
Method of Submission Online via Blackboard
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 6
Feedback before During tutorials from tutors (verbal) and from class (peer feedback, verbal and online) submission
Type of Feedback and due Written feedback and marks 15 working days (3 weeks) after the submission deadline. date after submission All marks will remain provisional until formally agreed by an Assessment Board.
BCS Criteria covered in this Assignment:
2.1.1 Knowledge and understanding of facts, concepts, principles & theories 2.1.2 Use of such knowledge in modelling and design
2.1.3 Problem solving strategies
2.1.5 Deploy theory in design, implementation and evaluation of systems 2.1.9 Knowledge of information security issues
2.2.1 Specify, design or construct computer-based systems
2.2.2 Evaluate systems in terms of quality and trade-offs
2.3.1 Work as a member of a development team
2.3.2 Development of general transferable skills
3.1.2 Methods, techniques and tools for information modelling, management and security 3.2.2 Defining problems, managing design process and evaluating outcomes
3.2.3 System Design
BCS Criteria covered in this Assignment:
Assessment Regulations See last section of this document on regulations
Coursework 2 marking scheme
The Coursework will be marked based on the following marking criteria:
Criteria
Mark per component6
Mark provided
Comments
Code
Code functionality, maintainability, version control
30
Defence in presentation
5
Code
Code quality (including output of test plan) and maintainability
20
6Do your best in all sections; those who go for the minimum pass mark in each may never survive in industry and may end up unemployed.
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 7
Defence in presentation
5
Human Computer Interaction
Your list of HCI issues you have addressed (and how you addressed them) and any HCI issues still remaining; this should be in comments within your code.
10
Defence in presentation
3
Security
Your list of security risks you have addressed (and how you addressed them) and any security risks still remaining; this should be in comments within your code.
5
Defence in presentation
2
Professional conduct and version control
The comments you received from your team-mates on the quality of your code and documentation how you dealt with them
5
The comments you have given your team-mates on their code and documentation
5
Legal and ethical constraints and how you will managed them, as appropriate for your problem domain, supported by appropriate research
10
Total
100
Coursework tips
a) In the second year of your degree you should be able to resolve a lot of problems by yourselves. If you do get stuck, look at the later section about ‘managing issues’. Don’t go to your tutor for every question you could find the answer yourself7; you are preparing to be independent professionals.
b) Independent professionals who disappear and no one knows what they are doing, are not professionals and sooner or later get fired8. Make sure your tutor knows what you are doing every week (i.e. go to the tutorials).
c) You should manage and complete the work as a team. You will have key points where you will show your work to your team-mates to get their feedback. There are more marks for a collegiate, helpful, behaviour to others (without doing their work for them!) There will be marks lost for ignoring your team-mates, working in isolation, being late with your work, and so on.
Identifying team issues early and managing them is an important part of the module. Minutes of meetings and agreements must also be updated online regularly
for your tutor (tutor) to see but also as a record for the team of what you have discussed and agreed.
7 Example of bad questions to ask your tutor: “What are we meant to do today?” “When is the deadline for this?” “What do I need to do to get full marks?” 8 If their tutor doesn’t see them doing work, then their tutor won’t believe they’re doing work.
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 8
Managing issues
All work, however well planned, can encounter something unexpected. It is important that you see such issues as learning opportunities and that you manage them, from beginning to end, professionally.
To resolve an issue yourself:
a) Do you have all the information about the problem? If not, try to find out the full story.
b) Could you do something differently yourself and solve the issue? The success of the project will affect you so it is to your interest to adapt if you can.
c) If the team needs to do something differently, can you convince the group what to do? How can you convince them that what you want will benefit them?
Raising a case with your tutor:
a) Have you exhausted the steps for resolving it yourself?
b) Plan ahead what you want to ask and what you want from them (guidance? action? decision?).
c) Be respectful of your tutor’s time. Your access to them is during the tutorial slot and – only very exceptionally and if it is urgent – by email.
d) Be respectful to your colleagues. All resources are shared and limited, and that includes your manager/tutor. Ensure you are not asking for so much time that
others will have to get little or nothing. (It’s actually unprofessional.)
e) Separate private issues (eg “I have a doctor’s appointment next week” is something you should ask to discuss privately), from professional issues (“I’m not clear on
how to do/handle this”).
f) Most of the times your tutor will not solve your problem but will try instead to help you solve it yourself, so you know how to do this in the future.
Raising a case with your module leader:
a) Any communication to the module leader must show that it has exhausted all avenues of resolving the issue yourself or with your tutor.
What do you need to do to get a good mark?
Read this document carefully. Manage your work so that you do, typically, another 10 hours of work per week, outside lectures and tutorials. Go to lectures and go to tutorials as you can’t get anywhere else the help and information you need to do well. Seek feedback from your tutor and your team mates. Use that feedback to improve your work. Don’t miss what is on blackboard. Log on blackboard blog what you are doing. Polish your work: document well, write clearly, pay attention to the little details. Always leave enough time to look at your work again and fix any missed errors.
What do you need to do to get a bad mark?
Read this quickly and expect someone else will tell you what you missed. Only do a couple of hours of work a week on this module. Don’t come to lectures expecting that you will pick things up from others or from blackboard. Ignore blackboard announcements. Write badly and submit work you did the night before the deadline. Ignore your team mates and their feedback – and give them low quality feedback in return. Assume that you can copy from someone else. Assume that the answer can be found on the internet (it cannot). Miss tutorials and the opportunity to get useful feedback from your tutor. Leave work for the last minute. Come to the presentation unprepared. Think that this is an easy coursework (it is not).
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 9
Managing issues
All work, however well planned, can encounter something unexpected. It is important that you see such issues as learning opportunities and that you manage them, from beginning to end, professionally.
Regulations Assessment regulations
Refer to part 3 of the Academic Regulations for a clarification of how you are assessed, penalties and late submissions, what constitutes plagiarism, etc.
Penalty for Late Submission
If students submit coursework late but within 24 hours of the published deadline, the work will be marked and will have ten percentage points of the overall available marks deducted, to a minimum of the pass mark (40% at undergraduate level). If students submit coursework more than 24 hours after the specified deadline, a mark of zero will be awarded for the work in question – unless a claim of Mitigating Circumstances has been submitted and accepted as valid.
For more detailed information regarding University Assessment Regulations, please refer to the following website: http://www.westminster.ac.uk/study/current-students/resources/academic-regulations
Attendance at the time and date of your presentations/demonstrations
All members of a team should be present and take part at the scheduled group presentations and demonstrations. If any student does not attend, the student’s mark will be capped to 30%. If a student can’t attend due to extenuating circumstances he/she needs to submit MCs claim.
Finally…
There is nothing saying that you cannot do very well in this module. You all start with an equal chance to do very well, regardless of how you did last year. But how well you do is up to you and how professionally you are engaging with all aspects of the module. There is a lot of learning to be done (about 200 hours worth) with very interesting stuff directly related to how you survive in your future employment. Take it very seriously, but also try to enjoy it.
5COSC003W Schedule and assessment document initiated by Dimitris Parapadakis, 2016-17 updated by Aleka Psarrou 2019-20, page 10