Files
G4G0-2/Software Project with Agile Techinques/Assignment/Assignment 1.md
2024-12-01 23:50:59 +00:00

106 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Context
The aim of this assignment is to perform requirements analysis modelling for a software solution using the Unified Modelling Language (UML).
You are presented with a business scenario where a software solution is sought to help provide services to users and allow future expansion. You are expected to use materials provided to you in the lecture series in the course plus information obtained from external sources for doing this assignment.
# Scenario
A combined cycle gas turbine power station requires a web-based system to manage the storage and installation of spare parts and the acquisition of new parts from the Central Storage Warehouse (the CSW). The power station maintains an inventory of all the parts it owns comprising: part name, description and specification. There are many copies of some parts each part has a unique ID, known as an asset tag number. The asset tag number is used when there is damage to particular parts. The power station also keeps a catalogue of all the possible spare parts types used.
Only registered *maintenance engineers* and *team leaders* are allowed to install and repair parts on the plant. *Maintenance engineers* and *team leaders* can use the parts catalogue to search for part types and can also search the parts inventory. *Maintenance engineers* work in teams, currently: electrical, mechanical and environmental. Each `team` has its own team lead. ``However, the system needs to be flexible enough to allow creation of new teams in the future.``
*Maintenance engineers* are allowed to take spare parts from the CSW, `up to a value of £50,000`. Higher value items need **authorisation** from a *team leader*. Spare parts are issued from the CSW by a *Store Manager*.
Occasionally a *maintenance engineer* needs to **sign parts** back into the CSW. Such “returns” maybe because time has run out on the shift to install the part or because the part is no longer required.
`Whenever a new part is installed in the power station an old part is removed`. The old part must either be returned to the CSW for **refurbishment** or **disposed of as scrap**.
After *store managers(sec)* receive **requisitions** from team leaders, they **produce purchase orders** to purchase spare parts from suppliers. The purchase orders contain part names and . *Suppliers* then **send the spare parts** along with an **invoice** to the CSW. The *store managers* then **reconcile the invoices** against the purchase orders to **authorise payments** for *suppliers*.
The *store managers* also handle **spare parts returned to *suppliers* for refurbishment**. When a spare part is returned to the CSW, the *store managers* produce a **purchase order**. Again, *suppliers* s**end refurbished goods (spare parts) to the** CSW, where the *store managers* then **reconcile invoices** and **authorise payments**.
After the *store managers* **authorise payments** for *suppliers*, the payment transactions are actually implemented by the *power station financial management system* (FMS). A message passing interface is used to payment transactions. Each payment transaction must include: supplier name, address, phone number, email address, invoice number, order number, authorising store manager name and payment amount (in GBP).
# Task
Your task is to:
- Produce a Use Case Model of the system. Your use case model should describe the users view of interaction scenarios with the system and should include the following:
- Read the scenario in order to identify and name the actors of the system.
- For each actor you have found in the system, identify and name the use cases for the actor.
- Use straight lines to show actor and use case relationships.
- Indicate primary and secondary actors.
- Write textual use cases for TWO of the use cases you have identified. The use cases must include
- Use Case Title
- Primary Actor
- Goal
- Scope
- Preconditions
- Postconditions
- Main Success Scenario
- Extensions
- Draw a simple, high-level, UML class diagram of the system.
- Use the class diagram illustrate various relationships between classes, such as inheritance, association and aggregation.
- Show example method and attribute names in classes, (think about encapsulation, make sure methods go with the attributes encapsulated by the class)
- Try to include method call and return parameters, where appropriate.
# Report Format
Your report should include the following:
- Front Sheet your full name, your student ID, your User name, date, the assessment title, the name of the module and its CRN.
- Use case diagram.
- Two textual use cases.
- Simple system class diagram.
- References the sources used in your report (and cite them in the body of your report). You must use the APA 7th Ed (Harvard) style.
Your submission should be typed (rather than hand-written) in, at least, font size 12pt. Do not use colour for emphasis because your submission will be printed in black and white.
# Actors
## Maintenance Engineers
### Actions
Install Parts
Repair Parts
Search Part Type
Search Part Inventory
Sign Parts Out of CSW
Sign Parts Into CSW
## Team Leaders
### Actions
Install Parts
Repair Parts
Search Part Type
Search Part Inventory
Authorise High Value to Engineers
Send Requisition to Store Manager
## Store Managers
### Actions
Produce Purchase Order from Requisition (+Refurb)
Reconcile Invoices (+Refurb)
Authorise Supplier Payment (+Refurb)
Send Parts to Suppliers for refurbishment
## Suppliers
### Actions
Send Spare parts to CSW (+ Refurbs) **<-**
Send Invoice to CSW (+Refurbs)
## Financial Management System
### Actions
Process Transaction
manager processes req -> creatres purchase order