Just Enough Requirements Engineering for Non-Computer Science Majors
Bingyang Wei, Ph.D.
b.wei@tcu.edu
December 9, 2021
1
Basic information
(2018 - present)
(2015 - 2018)
2
Computer science
3
My homework
4
Outline
Software development process
Requirements engineering
Software development
Software validation
Software evolution
Software development process
Requirements engineering
Software development
Software validation
Software evolution
Outline
What are requirements?
Examples:
Various types of requirements
Business requirements
User requirements
Business rules
Functional requirements
Quality attributes
External interface requirements
Constraints
Data requirements
Various types of requirements
Business requirements
User requirements
Business rules
Functional requirements
Quality attributes
External interface requirements
Constraints
Data requirements
E.g., The system shall track 60% of commercial chemical containers and 50% of proprietary chemicals within 4 weeks of software release.
E.g., While in flight each managed sUAS shall report its current coordinates each healthReportingPeriod seconds.
E.g., Video items may be renewed up to two times. Each renew extends the due date by three days.
E.g., The system shall return approvals to the user within 30 seconds.
Various types of requirements
Business requirements
User requirements
Business rules
Functional requirements
Quality attributes
External interface requirements
Constraints
Data requirements
User requirements
13
Data requirements
14
Data requirements examples
15
[Wiegers, Karl, and Joy Beatty. Software requirements. Pearson Education, 2013.]
Entity-relationship model
Detailed data field description
External interface requirements
16
External interface requirements examples
Find Place requests to Google Maps
A Find Place request takes a text input and returns a place. The input can be any kind of Places text data, such as a name, address, or phone number. The request must be a string. A Find Place request using non-string data such as a lat/lng coordinate or plus code generates an error.
A Find Place request is an HTTP URL of the following form:
where output may be either of the following values:
Certain parameters are required to initiate a Find Place request. As is standard in URLs, all parameters are separated using the ampersand (&) character.
Required parameters
Optional parameters
…
17
https://developers.google.com/maps/documentation/places/web-service/search-find-place
Software requirements specification
18
Software requirements specification
19
Business requirements
User requirements
Business rules
Functional requirements
Quality attributes
External interface requirements
Constraints
Data requirements
Why bother?
Outline
Masison, J., et al. "A modular computational framework for medical digital twins." Proceedings of the National Academy of Sciences 118.20 (2021).
Scenario
Courtesy of WUSTL/Brad Jolliff
Courtesy of KSC
23
Network and Protocol
Distributed simulation
using HLA
High level architecture (HLA)
24
https://pitchtechnologies.com/hlatutorial/
The overview of HLA
25
Runtime Infrastructure (RTI)
f1
f2
f3
f4
F
o4
o5
o6
o7
o8
O
Time management
Visualization
Logging
o1
o2
o3
https://pitchtechnologies.com/hlatutorial/
Summary
Thanks for listening, questions?
26