vault backup: 2024-10-16 09:12:37
This commit is contained in:
@@ -0,0 +1 @@
|
||||
|
@@ -0,0 +1,136 @@
|
||||
- Requirements
|
||||
- Design
|
||||
- Implementation
|
||||
- Verification
|
||||
- Maintenance
|
||||
|
||||
No step can be done without it's pre-requisites.
|
||||
|
||||
# Intro to Agile
|
||||
|
||||
Plan, Analyse, Design, Build, Test, Deploy
|
||||
|
||||
This repeats in a given timebox, building on previous iterations.
|
||||
|
||||
## Scrum Method
|
||||
|
||||
Product Backlog -> Sprint Backlog -> 2-4 Weeks, with daily Scrum meetings -> Potentially Shippable Product Increment
|
||||
|
||||
## Requirements
|
||||
|
||||
- Process of establishing
|
||||
- Services that customer requires
|
||||
- Constraints under which it operates or is developed
|
||||
- Requirements
|
||||
- Descriptions of services and constraints
|
||||
- Generated during requirements process
|
||||
|
||||
### Functional Vs Non-Functional Requirements
|
||||
|
||||
#### Functional
|
||||
|
||||
- Statements of services system should provide, how system should react to inputs, how system should behave
|
||||
- May state what system should not do
|
||||
- Describe functionality or system services.
|
||||
- Depend on type of software, expected users and type of system where software is used.
|
||||
- Functional user requirements may be high-level statements of what system should do.
|
||||
- Functional system requirements should describe system services in detail.
|
||||
|
||||
#### Non-Functional
|
||||
|
||||
- Constrains on services or functions offered by system such as timing, development process, standards, etc.
|
||||
- Often apply to the system as a whole rather than features of services.
|
||||
|
||||
#### Domain Requirements
|
||||
|
||||
id1((Some text))
|
||||
|
||||
- Constraints on the system from domain of operation
|
||||
|
||||
### Use Case Diagram
|
||||
|
||||
- Use Cases
|
||||
- Tool for modelling requirement gathering
|
||||
- Abstraction focused on user interaction
|
||||
- System design / internal structure not evaluated.
|
||||
- Detailed description of user interaction
|
||||
- Use Case Diagrams
|
||||
- Comprise actors and use case titles
|
||||
- Lines show which actors permitted to execute each use case.
|
||||
- Actor: Anyone / Anything with behaviour
|
||||
- Use Case: Contract for behaviour of the system
|
||||
|
||||
#### Car Rental System Example
|
||||
|
||||
- 
|
||||
|
||||
# Workshop
|
||||
|
||||
Identify name and actors
|
||||
For each actor, identify and name use cases
|
||||
Draw use case diagram
|
||||
|
||||
## Example 1
|
||||
|
||||
Actors:
|
||||
|
||||
- Students
|
||||
- Register
|
||||
- Transfer
|
||||
- Lecturers
|
||||
- Upload Marks
|
||||
- Administrators
|
||||
- Assign Module
|
||||
- Ratify Marks
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
std[/Students/] === rg([Registration])
|
||||
std === trm([Transfer Module])
|
||||
lec[/Lecturers/] === um([Upload Marks])
|
||||
adm[/Administrators/] === am([Assign Module])
|
||||
adm === rm([Ratify Marks])
|
||||
```
|
||||
|
||||
## Example 2
|
||||
|
||||
Actors:
|
||||
|
||||
- Senior Librarians
|
||||
- Archiving Holdings
|
||||
- Purchasing Holdings
|
||||
- Librarians
|
||||
- Register Holdings
|
||||
- Borrowers
|
||||
- Borrow Holdings
|
||||
- Return Holdings
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
sl[/Senior Librarian/] === ar([Archiving])
|
||||
sl === pc[(Purchasing)]
|
||||
lb[/Librarians/] === rgh([Register Holdings])
|
||||
bw[/Borrowers/] === bh([Borrow Holdings])
|
||||
bw === rth([Return Holdings])
|
||||
```
|
||||
|
||||
## Example 3
|
||||
|
||||
Actors:
|
||||
|
||||
- Travelers
|
||||
- Cancellations
|
||||
- Search
|
||||
- Book
|
||||
- Reserve
|
||||
- Frequent Fliers
|
||||
- Cancellations
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A[/Travellers/] ==== B([Search])
|
||||
A ==== C([Book])
|
||||
A ==== D([Reserve])
|
||||
A ===== E([Cancel])
|
||||
F[/Frequent Fliers/] ===== E
|
||||
```
|
@@ -0,0 +1,200 @@
|
||||
# 1
|
||||
|
||||
Name: Student Record Information System
|
||||
Objects:
|
||||
|
||||
- Student
|
||||
- ID
|
||||
- Lecturer
|
||||
- ID
|
||||
- Module
|
||||
- Lecturer Name
|
||||
- Year
|
||||
- Marks[]
|
||||
- Optional Module
|
||||
- transferTo()
|
||||
- transferFrom()
|
||||
Classes:
|
||||
- Person
|
||||
- First Name
|
||||
- Last Name
|
||||
- Programme
|
||||
- register()
|
||||
Relationships:
|
||||
- Person 1-1 Student
|
||||
- Person 1-1 Lecturer
|
||||
- Programme M-1 Module
|
||||
- Module 1-1 Optional Module
|
||||
|
||||
```mermaid
|
||||
---
|
||||
title: Student Record Information System
|
||||
|
||||
---
|
||||
erDiagram
|
||||
Person ||--o| Student : is
|
||||
Person ||--o| Lecturer : is
|
||||
Programme }|--|| Module : has
|
||||
Module ||--o| OptionalModule : could_be
|
||||
|
||||
OptionalModule {
|
||||
bool transferFrom()
|
||||
bool transferTo()
|
||||
}
|
||||
Module {
|
||||
string LecturerName
|
||||
int Year
|
||||
int[] Marks
|
||||
}
|
||||
Programme {
|
||||
bool register()
|
||||
}
|
||||
Lecturer {
|
||||
string ID
|
||||
}
|
||||
Student {
|
||||
string ID
|
||||
}
|
||||
Person {
|
||||
string FirstName
|
||||
string LastName
|
||||
}
|
||||
%%{init:{'theme':'dark'}}%%
|
||||
```
|
||||
|
||||
# 2
|
||||
|
||||
Name: Library Information System
|
||||
Objects:
|
||||
|
||||
- Book
|
||||
- ISBN
|
||||
- Recording
|
||||
- Duration
|
||||
- Magazine
|
||||
- Journal
|
||||
- ISSN
|
||||
- Serial
|
||||
- Issue Number
|
||||
Class:
|
||||
- Holding
|
||||
- Title
|
||||
- Keywords
|
||||
- Type
|
||||
- Register()
|
||||
Relationships:
|
||||
- Holding 1-1 Book
|
||||
- Holding 1-1 Recording
|
||||
- Holding 1-1 Serial
|
||||
- Serial 1-1 Journal
|
||||
- Serial 1-1 Magazine
|
||||
|
||||
```mermaid
|
||||
---
|
||||
title: Library Information System
|
||||
---
|
||||
erDiagram
|
||||
Holding ||--|| Book : is
|
||||
Holding ||--|| Recording : is
|
||||
Holding ||--|| Serial : is
|
||||
Serial ||--|| Journal : has
|
||||
Serial ||--|| Magazine : has
|
||||
|
||||
Holding {
|
||||
string Title
|
||||
string[] Keywords
|
||||
string Type
|
||||
bool register()
|
||||
}
|
||||
|
||||
Book {
|
||||
string ISBN
|
||||
}
|
||||
|
||||
Recording {
|
||||
int Duration
|
||||
}
|
||||
|
||||
Serial {
|
||||
int issueNumber
|
||||
}
|
||||
|
||||
Journal {
|
||||
string ISSN
|
||||
}
|
||||
|
||||
Magazine {
|
||||
|
||||
}
|
||||
%%{init:{'theme':'dark'}}%%
|
||||
```
|
||||
|
||||
# 3
|
||||
|
||||
Name: Flight Travel Booking System
|
||||
Objects:
|
||||
- Flight
|
||||
- Departure Location
|
||||
- Arrival Location
|
||||
- Flight Number
|
||||
- Departure Date
|
||||
- Arrival Date
|
||||
- Hotel
|
||||
- Departure Date
|
||||
- Arrival Date
|
||||
- Room Number
|
||||
- Guest Count
|
||||
- Flight Booking
|
||||
- eTicket
|
||||
- Flight Reservation
|
||||
- Hotel Booking
|
||||
- Hotel Reservation
|
||||
- Transaction ID
|
||||
Class:
|
||||
- Contract
|
||||
- ID
|
||||
|
||||
Relationships:
|
||||
All 1-1
|
||||
|
||||
```mermaid
|
||||
---
|
||||
title: Flight Travel Booking System
|
||||
---
|
||||
erDiagram
|
||||
Contract ||--|| Flight : books
|
||||
Contract ||--|| Hotel : books
|
||||
Flight ||--|| Flight_Booking : has
|
||||
Flight ||--|| Flight_Reservation : reserves
|
||||
Hotel ||--|| Hotel_Booking : has
|
||||
Hotel ||--|| Hotel_Reservation : reserves
|
||||
|
||||
Contract {
|
||||
string ContractID
|
||||
}
|
||||
|
||||
Flight {
|
||||
string departureDestination
|
||||
string arrivalDestination
|
||||
int flightNumber
|
||||
date departureDate
|
||||
date arrivalDate
|
||||
}
|
||||
|
||||
Hotel {
|
||||
date departureDate
|
||||
date arrivalDAte
|
||||
int roomNumber
|
||||
int guestCount
|
||||
}
|
||||
|
||||
Flight_Booking {
|
||||
int eticketNumber
|
||||
}
|
||||
|
||||
Hotel_Reservation {
|
||||
int transactionID
|
||||
}
|
||||
|
||||
%%{init:{'theme':'dark'}}%%
|
||||
```
|
@@ -0,0 +1,25 @@
|
||||
- Non functional requirements
|
||||
- Create around constraints
|
||||
- Functional requirements
|
||||
- Use test criteria rather than implementation details
|
||||
- Analyse Scenario
|
||||
- Write User Story
|
||||
- Describe questions for client
|
||||
|
||||
# 1
|
||||
|
||||
As a student, I want to register for a programme in order to obtain a degree.
|
||||
How should programmes be displayed to the student?
|
||||
How should the student be notified about programme enrollment?
|
||||
What details given to student?
|
||||
|
||||
|
||||
As a student, I want to transfer module to better fit my career outcomes.
|
||||
How should modules be displayed to student?
|
||||
How should students be notified?
|
||||
|
||||
# 3
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user