31269 - Business Requirements Modelling

Introduction

Stakeholder Parte interessata 利害関係者

Interested or involved bodies in the development of a software system

Requirement Riquisito 要件

A stakeholder's need that must be fufilled to reach the system's objective, for instance, a train system has the requirement of a train that stops at Minchinbury and arrives at Burwood between 5 and 5:30.

Model Modello 模型

Abstract ideas of stakeholders, systems, and business processes used to emulate their requirements, attributes and problems for decision making

Ways of modelling

Business Analysis

practice of enabling change in an enterprise by identifying requirements and reccomending a solution

Methods of Business Analysis

Business analyst skills

Requirements Process

Requirements Engineering Ingenieria di Riquisiti 要件工学

Process of obtaining specific requirements (like business rules) for the ] process the client has ordered

Process Processo 過程

The steps needed for software development

Development processes

Elicitation Elicitazione 誘発

Discovery of new requirements as the process is on-going, this is why agile methods are preferred.

Requirements Analysis Analisi di Requisiti

Reviewing the clarity and integrity of current requirements

Requirements Modelling

Requirement type

Importance of getting requirements from stakeholders

SMART requirement Requisiti SMART SMART要件

Requirements Elicitation

Requirements Elicitation Process

Interview Colloquio 面談

Obtaining requirements by discussing with stakeholders through an interview. Biases between interviewee must be put aside, interviews can be structured (pre-planned questions) or unstructured ()

Preparing for interviews

Open questions

Questions inciting detailed and descriptive responses

Closed questions

Questions inciting a short response with a definitive answer

Probing

Asking for more general answers when interviewee is reluctant

Interviewing advantages and disadvantages

+ Allows for full discussions and greater detail
+ Allows for private opinions to flow
- Time consuming and costly
- Subjection to bias
- Results need to be transcribed

Survey

List of questions given to stakeholders to take individually. Can ask:
- Yes/no question
- Multiple choice
- Scaled question, where the stakeholder offers a rating
- Open-ended question, that incites detail from the stakeholder

Types of survey questions

- Yes/no questions,
- Multiple choice questions,
- Scaled questions,
- Open questions,

Surveying advantages and disadvantages

Observation

Studying the stakeholders using the current system, may be passive or active

Observation advantages and disadvantages

+ Data collected in real time
+ Can be used to verify notes
- Time consuming
- May be disruptive
- Lots of data to analyse

Prototype

Working model that imitates the final model, used to test and verify interface, requirements being met and output with stakeholders

Storyboards and wireframes

Images representing the look and flow of the interface, used to validate ideas

Storyboards and wireframes advantages and disadvantages

+ Allows for early feedback
+ Inexpensive to fix prototype
- May be time consuming
- May cause unrealistic expectations for the system

Focus group

Workshop that does all of the above, used to update and gain requirements on system

Focus group advantages and disadvantages

+ Collaboration between stakeholders
+ Generates product ideas
- Risk of rushing decisions

Process modelling

Business process

Combining the activities of an enterprise with structure and logical order from start to end, that is, the activities a business undertakes for the benefit of its client

Business process modelling

Representing business processes for analysis and amelioration, done to make software development for the system easier

Process decomposition

Dividing entities of a business into smaller, related parts, to make it easier to understand business processes

SCD

System Context Diagram; diagram defining relationship between system and its environmental entities (like context diagram in IPT). This diagram shows:
- The system in question
- The interracting entities
- Information and data being exchanged between system and entitites
\
They help show the scope of a system, and the environment interracting with it.

Level 1 diagram

- Identify all business processes

Level 2 diagram

- Model all subprocesses of the level 1 business processes
- Identify all tasksa from start to end needed to complete each level 1 process

Business process modelling notation

Notation in business process diagrams (data flow diagrams in IPT):
- Event, event that has cause and effect represented by circles
- Activity, work that business performs represented by rectangles
- Gateway, controls conditional flow, whether two events or activities can occur on different circumstances represented by a diamond
- Sequence flow, arrow showing order of activities in a process represented by an arrow
- Message flow, shows flow of messages between two participants
- Association
- Pool, represents a participant in the system represented by a rectangular environment around the entire diagram
- Lane, partition of pool used to categorise different events
- Data object, databases and such represented by a generic page file image
- Group
- Text annotations

Data modelling

Data model

Model that identifies entities and data, describes nature of the system's data, demonstrates entity relationships, and is the foundation of a database plan

ERD

Entity Relationship Diagram; Data model that demonstrates entities and relationships. They demonstrate business rules and describe the data requirements of a business

Entity type

Normal; Person, Place, Thing, idea, etc.
Associative; Many to many relationship connector
Weak; Normal entity reliant on another entity to exist (makes part of PK)

Attribute

Data field in an entity

Key Chiave 鍵

Identifier for an entity, can be:
Primary Key; ID that represents its own entity
Foreign key; ID of an entity in another entity
Composite Key; Use of many fields to make one ID

Relationships

Identifier for an entity, can be:
Primary Key; ID that represents its own entity
Foreign key; ID of an entity in another entity
Composite Key; Use of many fields to make one ID

Cardinality

Identifier for an entity, can be:
Primary Key; ID that represents its own entity
Foreign key; ID of an entity in another entity
Composite Key; Use of many fields to make one ID

Crow's foot notation

Identifier for an entity, can be:
Primary Key; ID that represents its own entity
Foreign key; ID of an entity in another entity
Composite Key; Use of many fields to make one ID

Data dictionary

Table that describes the attributes of an entity (data type, character size, description, attribute name, etc)

Software Requirements Specification

SRS

Software Requirements Specification; Document listing the system service and capabilities in detail, defining the functional requirements for software developers, often used as a contract to validate what the stakeholders want

IEEE SRS

SRS document format enforced by the IEEE, the head of technology standards (including WiFi). It's detailed, has simple language, and has structured use cases

Agile SRS

SRS document format enforced by this subject. It is incremental (things canm be added onto it),

Agile Manifesto

The values of agile software development:

12 Agile Manifesto

Scrum process

Process including an acting "product owner" (representor of stakeholders) and a Scrum master (someone who conducts a short daily discussion on how today's work fits with the stakeholder requirements). The product owner creates a product backlog (requirements yet to implemet into the system), and the sprint backlog is created by scrum master and the scrum team to log the current status on how the development is going for each sprint (a sprinty is a day of developing the system)

Product Backlog

List of desired functions of a system by a product owner, explained using user stories

Sprint Backlog

Team members sign up to work on parts of the requirements and log their completion

User stories

Functionality requirements told from the perspective of an end user, often used in agile projects. It is not an entire requirement, as it needs to be thoroughly discussed with the stakeholder in question. Should avoid conjunctions, simple, and specific. User stories are given a time frame to be programmed, and priority.

Acceptance test

Test to confirm that a user story accurately describes the conditions of a user story

Epic

A big user story

Prioritisation methods

Story point

Offering a score from 1 to 10 on a user story to describe effort to put in practice

Object Oriented Modelling

Structured approach

Object Oriented approach

UML

Unified Modelling Language; language used to visualise, construct, and document artefacts of a system, OO support added in version 2, UML diagrams are useful for programmers, stakeholders, and anyone interested in the system structure

User Case Diagram

Diagram with system users (actors) and a system environment drawn as a rectangle with processes actors may request (use cases) as ovals embedded, and relationships between the users and system processes are demonstrated with lines. User stories can make many user cases, and vice versa

Relationships in User Case Diagrams

Association

Line connecting two modelling elements that can optionally have an arrow head to indicate direction

Generalisation

Line with closed arrow head pointing to the more general element

Use case narrative

Narrative demonstrating what the system should do to respond to an event, capturing actor messages

Class diagram

Static diagram describing the structure of a system through the system's classes, attributes, operations (methods) and relationships between classes and objects. Used for modelling to be translated into programmed code. Used to visualise, describe and document system as well as help construct code.

Class

Definition of objects with shared attributes and methods, used as a blueprint to create said objects. Objects are instances of classes

Attributes

Properties describing state of the class

Methods

Properties describing behaviour of the class

Relationships

Association between classes

Multiplicity

Numerical relationship between two classes

Relationship types

Interaction diagram

UML diagram that shows how objects interact with messages, demonstrating how objects collaborate with one another for their behaviours. They are used when viewing the behaviour of several objects with one use case (called object level). There are two types of these diagrams:

Sequence diagram

Visual representation of a use case, capturing the behaviour of the use case. Objects are shown as a "lifeline box" in the use case diagram. Sequence diagrams show messages between classes or objects overtime in a sequence.

Sequence diagram notation

Sequence diagram messages

Sequence diagram frame

Tools used in sequence diagrams used to display loops and conditional switches, can have the following opeators that contain a label (operator name) and guard (looping or switching condition):

Objects

Instances of classes with data, methods and properties defined by a class. Objects may have different state, such as changing variables

State transition diagram

Diagram showing changing state of one object over a time period, helping analysts understand system behaviour. It also helps estimate an objects lifespan, understand the types of values objects take, and so forth

Transitioning

Changing state, this occurs due to events that may or may not be related to time (such as a button being pushed, a time interval being reached, and so forth)

State transition diagram notation