0% found this document useful (0 votes)
172 views

Software Engineering Assignment 2022-23

This document outlines an individual assignment for an electrical engineering software engineering course. Students are asked to imagine managing a team developing software to solve a problem of their choosing. They must answer 10 questions describing key aspects of the software development process for their proposed product, including: [1] stating the problem and proposed software; [2] listing initial requirements; [3] analysing requirements; [4] identifying deliverables; [5] choosing a development process; [6] providing a development plan; [7] suggesting a version control strategy; [8] discussing quality measures; [9] proposing testing/validation strategies; and [10] discussing post-delivery maintenance. The emphasis is on applying software

Uploaded by

Lu Haoyu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
172 views

Software Engineering Assignment 2022-23

This document outlines an individual assignment for an electrical engineering software engineering course. Students are asked to imagine managing a team developing software to solve a problem of their choosing. They must answer 10 questions describing key aspects of the software development process for their proposed product, including: [1] stating the problem and proposed software; [2] listing initial requirements; [3] analysing requirements; [4] identifying deliverables; [5] choosing a development process; [6] providing a development plan; [7] suggesting a version control strategy; [8] discussing quality measures; [9] proposing testing/validation strategies; and [10] discussing post-delivery maintenance. The emphasis is on applying software

Uploaded by

Lu Haoyu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

ELEC224/ELEC273: Software Engineering Assignment, Ver. 6.

Assignment – Software Engineering


Department of Electrical Engineering & Electronics
October 2022, Ver. 6.1
Assignment Specifications
Module(s) ELEC224, ELEC273
Semester, Level Semester 1, Level 5
Weight 14% of ELEC224; 6% of ELEC273
Work Individual
Subject(s) of relevance Software Engineering, Requirements Engineering
Assessment / feedback Via CANVAS online submissions.
- Online CANVAS TurnItIn document submission.
- Essay answers to all questions in order; reproduce the relevant
question as a section heading before each answer.
Submission method & - Total essay words (including question text): approx. 1800 - 2000
guidelines words. (Not including the other material in next bullet points.)
- Include page numbers, section headings, a cover sheet with title
& Academic Integrity declaration, a Contents page, Reference list.
- Also include a list of Figures if relevant.
Submission deadline 3 weeks after the lecture (23:59)

Instructions
• This is an individual assignment. Any similarities, no matter how small, will be treated as collusion
and penalised accordingly. Your work must be your own.
• You should use the provided presentations and any relevant online material to aid your
understanding as you prepare to answer the questions.
• You may make (reasonable) use of ideas from third-party sources, provided these are cited as
References within your answers and included in the Reference list at the end. Do not copy or closely
paraphrase text. If any text is reproduced verbatim (i.e. if you quote a source – even the lecture slides),
then this must be placed inside quotation marks “__“. Make sure you follow these rules, otherwise
your use of third-party sources and ideas may well be considered as plagiarism. Standard University
policies apply to this and you can check them online for more guidance.
• You are not required to provide/include any code. This is not a programming assignment.
• See also the instructions above entitled ‘Submission method & guidelines’, and below.
• The marking criteria for each question is provided in each question below.

1
ELEC224/ELEC273: Software Engineering Assignment, Ver. 6.1

LO: ‘Be aware of the system development life cycle required in any software
development project’

Task

Imagine you are working in the role of a Software Engineer! You are responsible for
managing the development process of a certain software product required by a
company. To achieve this task, you will lead a team of 5 developers. (The team all
have development skills in C/C++, Python, Java and .NET, and can work with
Windows, Mac or Linux, so any of these languages/platforms could hypothetically be
used in developing the software).

Answer all the questions on Page 3 of this Assignment Brief regarding the software
development process for your product, using your own judgment to decide on several
aspects of the process. State clearly any assumptions you make. Watch the Software
Engineering lecture presentation, read the lecture slides and research some online
material to aid your understanding as you develop your ideas. (The Requirements
Engineering materials also have relevance to some aspects of this Assignment.)

Software to be developed: use your own imagination to suggest a relevant system.


Your answers to the various questions should describe how you would convert an
original problem (customer specification, requirements) into a software product. The
emphasis must be on the software engineering aspects, but no software should be
written as part of this assignment. You may use your imagination to construct an
appropriate, realistic “problem” for your proposed software to solve. Make sure to
credit any sources of inspiration with a reference.

Important: No code needs to be written/provided with this assignment!

Assignment prepared by: Dr A. Al-Ataby


Revisions: Dr M. López-Benítez (v5.1 Nov. 2017)
Dr D. G. McIntosh (v6 Dec. 2020, v6.1 Nov. 2021)

Questions on next page…

2
ELEC224/ELEC273: Software Engineering Assignment, Ver. 6.1

Questions
Structure your submission around the following questions (and include them in it.)
Be specific to your proposed software product in each answer; generic answers are not recommended.
Where appropriate, justify your answers to demonstrate understanding. Present answers well, in
comprehensible language (spelling, grammar, punctuation etc.)
When marking, the following will be among the aspects considered: technical correctness;
completeness; application of SE & RE principles/ theory/tools; evidence of your own understanding;
originality where relevant; clarity of written expression; presentation; length; references.
(Marks distributions in brackets.)

1. State the problem briefly; what software are you proposing and why? (5 marks)
2. Write down the proposed product specification: an initial list of requirements
(not yet analysed) that the customer wants and needs in the software to be
developed. Include some functional, non-functional & technical requirements. (10 marks)
3. Do a preliminary requirements analysis: analyse the initial requirements you
listed in Question 2, discussing e.g. potential conflicts or interactions between
the requirements and considering development constraints, resources, risks,
etc… You may wish to use a MoSCoW list as part of the analysis. (If relevant,
note down also any changes to initial requirements from this analysis.) (15 marks)
4. List some key deliverables of the project (e.g. user documentation…) (5 marks)
5. Identify the software development process to be followed and why you
have chosen it for developing this product. (E.g. waterfall model, spiral model,
etc. – or, more likely, some combination of approaches.) (15 marks)

6. Write an overall plan, showing the main tasks, and the activities, milestones
and deliverables associated with each task. Your plan should focus in on
software design principles appropriate to your product, and also, refer to the
software development process chosen in Question 5. Your plan must clearly
incorporate the relevance of abstraction and modularity. (20 marks)

7. Suggest and briefly justify an appropriate version/revision control strategy


for the product’s source code, to allow your team of 5 developers to
collaborate while tracking / controlling changes. (5 marks)

8. Discuss various measures of quality, in specific relation to your software. (10 marks)
9. Suggest and justify either prototyping, or testing/validation, strategies
which can be shown to be appropriate for your product. (10 marks)

10. Briefly discuss the scope for further developments, enhancements etc. as
part of the anticipated software maintenance after delivery. (5 marks)

You might also like