Computer Science Notes

Notes From CS Undergrad Courses FSU

This project is maintained by awa03

Structured specifications

- an approach to writing requirements where the freedom of the requirements is limited and requirements are written in a standard way
Specification Description
Insulin Pump/Control Software
Function Compute insulin dose
Description Computes dose to be delivered when the current level is in the safe zone between 3 and 7 units
Inputs Current sugar (r2) the previous two readings (r0 and r1)
Source
Outputs
Action
Requirements
Pre-condition
Post-condition
Side effects

Use Case

- Kind of scenario - Scenarios are useful in discussing a proposed system with a client - Concept of how the system will be used by different users - Usually, each case represents one functional requirement

Use Case Specification requirements Examples

- The ATM shall dispense cash in 20s - The max withdrawal is 500 dollars...

Actor

- Model for an external entity that interacts with the system - User Role - denoted by a stick figure - External system - Not specific physical entities but merely particular facets (i.e. roles) - Which user groups require help from the system? - Which needs to execute the system's most obvious functions? - Flow of events - Special Requirements - Actors - Alt flow of events

Association

- The participation of an actor in a use case is shown by a solid line in UML

System Boundary

- A rectangular box that indicates the scope of your system

Relationships

- Association between use case and actors - Generalization between actors - Generalization between use case - Include use case and actors - Extend use case and actors

Actor Generalization

- One actor can inherit the role of another - The descendant inherits all the use cases of the ancestor - Solid directed line with triangle

Use Case Generalization

- Relationship between use cases means that a child use case inherits the behavior and meaning of the parent use case - The child may add or override the behavior of the parent - Solid directed line with triangle

<<`Include`>> Relationship

- When a use case is using the functionality of another use case as a part of its event flow this relationship is signified by `<>` - The include modularizes the process - Included with the other use case: checkout at the store, including scan items, purchases, etc

<<`Extend`>> Relationship

- Extend is a directed relationship that specifies how the behavior of a base use case can be extended by a supplementary use case - Extending defines optional behavior: Ex Deposit Bonus if over 55