$24
Aims
The aims of this assignment are to
• adopt an agile process as a group, managing the division of labour and coordinating contributions;
• demonstrate your understanding of software design, UML diagrams and the applicability of these diagrams to different artefacts of the software lifecycle;
• use appropriate notations and UML diagrams to model the requirements, outline software architecture, and structural and behavioural design of a small software system;
• analyse the models produced in the previous step;
• document the outcomes of your work in a precise and logical manner as a technical report.
System description
Consider the scenario in which your group is a development team employed by a software company. You are tasked with designing an application for a client company to connect university students and employers offering internships and job opportunities.
The application will allow universities and employer organisations to register with it. Once a university registers with the application, each matriculated student in that university will be able to create a profile in the application with relevant information such as academic transcripts, prior work experience, prizes won, links to portfolios or repositories of work, expected completion date, and preferences for career positions and sector. Once an employer organisation registers with the application, they will be able to create a profile for their organisation, name up to 5 specific contacts within the organisation, and add internship and job opportunities in their organisation.
The named contacts within each registered organisation can view all student profiles in the application. Each student affiliated with a registered university can view all opportunities posted by organisations. Both organisational contacts and students should have access to search and filter facilities to easily find information that is of interest to them. A recommendation facility, which automatically matches students and opportunities, and displays the top 10 matches each time a student or an organisational contact logs in to the application, is also desired.
Once a student reaches the completion date of their programme at the university, they no longer have access to the system. Each employer organisation is responsible for keeping the status of the opportunities it offers up to date. The status could include active, withdrawn, filled by a student registered with the application and filled by an external candidate. Only active opportunities should be displayed by the application. All data in the system can be used to generate summary reports for the client company to monitor the take up and effectiveness of the application.
The client will charge universities and employer organisations an annual fee to register with the application. Universities are charged a lower fee than employers. It is anticipated that the application will be aimed at UK universities and employers in the first instance. If it is successful in this market, it will be deployed on a global scale.
Requirements
The shared group report should include
1. A specification of requirements for the system, which must consider functionality and qualities;
2. A brief description of the agile process adopted for the assignment;
3. A discussion of any ethical considerations for the system;
4. A code of ethics tailored to guide the development of this specific system;
5. A UML use case diagram for the system;
6. A specification of the software architecture of the system using an appropriate UML diagram;
7. Structural design of significant parts of the system using appropriate UML diagrams;
8. Behaviour design of the system for one particular interaction sequence using an appropriate UML diagram;
9. An analysis of
a) the design you created with respect to the given specification and consistency with other artefacts; and
b) how well your work adhered to the code of ethics you defined in step 3;
10. A brief reflection of the process used in the assignment;
11. A summary of contributions of each group member (identified only by matriculation number); and
12. References (if applicable).
You must also submit a short individual report of at most 500 words outlining your experience of, and contribution to, the group effort.
You are not required to develop any code as part of this assignment.
Group work
You are required to work as a group to complete this assignment. Details of group allocation will be available on module Teams by the end of Wednesday 12 October 2022.
The work can be divided up among members according to their preferences and strengths as long as the group agrees on a fair division. The default arrangement is that everyone in the same group will receive the same mark. However, if there are problems with group work and some members do not contribute a fair share of work, evidence in the form of individual reports, and interviews with group members if required, will be used to determine different marks for individual members.
Notes
• You are required to use a named agile process for this work. You can adapt the process to suit the arrangements of the assignment.
• You will not have a client attached to the assignment / process. If you find the specification ambiguous or incomplete in anyway, working as a group, resolve the issues in a manner consistent with the information provided and list any assumptions you make in the report.
• For this process to work well, all members of the group have to work together and contribute to each output.
• You can draw UML diagrams using any tool of your choice. You should use standard UML notations.
• Start a draft report early and document your decisions and the rationale for making them as you go.
• There is no word limit for the group report; however, do not include irrelevant information.
• Any extensions or additions to the specification should be clearly identified in the report. I would strongly advise completing the basic requirements before extensions are attempted.
• If you have difficulty showing any of the models in a legible manner in the report, you may include them separately in pdf format as part of your submission in addition to including them in the report.
Submission
A pdf document incorporating both the group report and their own individual report must be submitted by each student electronically to the ‘Assignment 2 Main’ slot on MMS by the deadline. Report submissions in any other format will be rejected. A zip archive of any supporting material, such as UML diagrams in pdf format, can be submitted to the ‘Assignment 2 Supplemental’ slot on MMS. This supplementary material is optional.