Looks like no one added any tags here yet for you.
Time Modalities of Requirements (3 types)
“Shall” ~ legal binding
“should, may” ~ optional
“Will” ~ 3rd party COTS/MOTS/GOTS, not in current, but possibly in future
COTS: commercial off the shelf system
MOTS: military off the shelf system
GOTS: Government off the shelf system
These modalities should only be used once
Is this equation true or false:
Problem = To-Be - As-is
False,
Problem + As-is = To-be is not true
Problem Analysis Roadmap
OMG: object management group
Starting point
identify the problem
find root causes
Understand the problem in the context of business goals
problem cannot be used w/o a goal included
Consider alternatives and choose the best solutions to meet goals
Are requirements about problem or solution?
About the solution
3 Root Causes Techniques
Fishbone
Fault tree diagram
PIG: problem interdependent graph
Fishbone diagram
Problem = head of fishbone
Each rib-bone = possible cause of problem (root causes)
Going to the 3rd level in rib-bone is considered more serious
Fault tree diagram
AND or OR symbols
Using this logic assumes completeness
In reality, logic doesn’t work
Anything mathematical is unreal, anything real is not mathematic
Clear relationships between siblings
However, no relationships with goals and alternatives
Which diagram is better? (3 Root cause diagrams)
Fishbone diagram
Mathematics most important thing
Numbers
w/o numbers we cant have anything
What does number 1 mean?
The basis of mathematics
What if there are too many problems?
Pareto principle
applicable basically everywhere
engineering = Reality
Science = theory
resource limitation
Ontology
Essential (vocabulary) categories of:
things (Ind. concepts)
relationships btw things
constraints on things
constraints on relationships
3 different graphs
fishbone
PIG → (soft) problem independence graph
fault tree diagram
Ontology 3 levels
meta-level
class-level
toke/ground level
Ethnomethodology
Why is it difficult?
A wicked problem
Ethnomethodology
“say-do” problem
people know how to do things they normally don’t describe (tactic knowledge); descriptions of such things may be highly inaccurate
Ethnomethodology
Learning through observation
Some communication, mostly observation
Ethnomethodology
So what should be done, give 3 examples
London stack exchange
2yrs
10M
Test engineers found no problems, so what’s wrong?
Requirements engineers descriptions were highly inaccurate
Driving: lane/change intersection
coming to red light
determine pressure to apply to break per microsecond
lane change
check blind spots
Cooking
Usability Lab
important to create natural setting
big challenge for Ethnomethodology
It is used for
Ethnomethodology
testing in top companies
True or false: S achieves R to solve P in D?
False
What is the most important in a vision document?
Problem Statement/Definition
Vision Document Outline
Problem statement
4 rows:
problem of
affects
impact
successful solution
It is a system level document and it is communication between different wares (SW, HW, PW)
What is the problem with this problem statement in vision document example?
problem of: Keeping current on collegiate sports events
It is a goal statement, not a problem statement.
Problems should represent bad things, and cannot use a goal without a problem. Therefore it is invalid.
What does: “/” mean in diagrams
It relates to business
Diagram to use to show the flow of events. How to realize the use case?
Use a sequence diagram
Two different categories of diagrams?
software system
business
3 different diagrams (modeling)
class diagram
sequence diagram
class use case
What diagram to take text and make visual?
Sequence diagram
3 different version of UML
pre-uml
UML 1.x = offers ~9 diagrams
UML 2.y = offers ~12/13 diagrams
UML 2.y has emphasis on soft. arch.
Most important word to describe software architecture?
Component.
Component diagrams are important.
Two famous groups of people in S.E.
Three Amigos: UML
Gang of four: Design patterns (GoF)
UML Diagrams
use case
activity
class
sequence
collaboration
state transitions
deployment
object
Given 1 use case, how many sequence diagrams can be used?
Infinitely many
Is UML diagram like a flowchart?
No
Can a class diagram be apart of a requirements document?
No
Do not include operation methods in objects e.g. chair
Relationships
Make sure to know what the arrows look like
UML 1.x
7 things
4 relationships
Association
generalization/specilization (example of this will be on test)
dependency
weakest relationship in UML
realization
aggregation
composition
What is ontology of ERD?
Entities and relationships
What is the specification for UML?
UML is semi-formal specification
UML + OCL → fully formal
OCL → object constraint language
2 new disciplines developed
Requirements engineering
Software architecture
these 2 seen as critical to create large and complex systems
What is SADT?
structured analysis and design techniques
Operational concepts:
personal, software, hardware functions
SADT 2 diagrams
actigrams: corresponds with IDEF0
SADT
Each diagram has 4 arrows
Input
Output
Control
Mechanism
Label of an Actigram
Must be a verb of verb phrase
Box annotation
represents trace of stepwise refinement/decomposition
Information Contiguity Constraint
Multiple levels of SADT diagrams all have the same mechanism, output, control and input (they have to be preserved)
Example
What does A32 refer to?
A032, the second box in A3
What is IDEF0?
Stands for integration definition for function modeling
IDEF0 = SADT actigrams
IDEF1x = ERD + gen/spec
IDEF0 diagram syntax rules
Input/output:
down and under
Control:
up and over
Mechanisms:
down and under
IDEF0
What are the 3 different contorls?
stakeholders
templates
tools
Is UML functional or non-functional?
Functional
what does security mean?
Confidentiality
Integrity
Availability
NFR Frameworks
What is a softgoal?
nonfunctional things
no optional solution
No clear cut definition
NFR Frameworks
What is a satisficing?
one softgoal can contribute positively, negatively, fully or partially towards other softgoals
satisfies ~ good enough
NFR Frameworks
What is a softgoal interdependence graphs (SIG)?
modeling non-functional requirements and interdependence btw them
Make (good enough): ++
help: +
hurt: -
break (bad enough): --
NFR frameworks
3 types of Refinement
NFR (thin line)
Operationalizing (thick line)
Claim (supporting | explaining) (broken line)
NFR frameworks
Contribution types
and (decomposition)
or (alternatives)
NFR frameworks
Labels (evaluation of softgoals/contributions)
satisficed
denied
conflicting
undetermined
Most important diagram (modeling)
Class diagram
Some notes
Infinite # of illegal relationships
finite # of legal relationships
UML ability to decompose is important
decompose activities
divide and conquer
Data says relationships are not applicable
Box in SADT diagram should contain all info and nothing should be outside of it.
SADT should have no diagonals. Only vertical and horizontal.