1 of 26

Just Enough Requirements Engineering for Non-Computer Science Majors

Bingyang Wei, Ph.D.

b.wei@tcu.edu

December 9, 2021

1

2 of 26

Basic information

  • Education
    • Ph.D., Computer Science, University of Alabama in Huntsville, 2015
    • B.E., Computer Science and Technology, Ocean University of China, 2010
  • Faculty appointment
    • Assistant Professor, Computer Science, Texas Christian University

(2018 - present)

    • Assistant Professor, Computer Science, Midwestern State University

(2015 - 2018)

  • Research
    • Software Engineering, Semantic Web and Knowledge Graph, Formal Methods
    • Some Modeling and Simulation experience

2

3 of 26

Computer science

  • Computer science is the study of problem solving with computers.
  • The problems come from various subject areas, Mathematics, Physics, Biology, Chemistry, Finance etc.

3

4 of 26

My homework

  • Emails of Hana Dobrovolny, Reinhard Laubenbacher, and Bruce Shapiro.
  • Laubenbacher, Reinhard, James P. Sluka, and James A. Glazier. "Using digital twins in viral infection." Science 371.6534 (2021): 1105-1106.
  • Masison, J., et al. "A modular computational framework for medical digital twins." Proceedings of the National Academy of Sciences 118.20 (2021).

4

5 of 26

Outline

  • Software process
  • Requirements engineering
    • What are requirements and why bother?
    • Requirements specifications
  • Software design
    • Distributed simulation architecture

6 of 26

Software development process

  • Begins when a sponsor identifies a need or an opportunity
  • Defines the scope and functionality of the software
  • Transforms detailed requirements into complete detailed system design
  • Converts a design into a complete information system
  • Demonstrates that the developed software conforms to requirements as specified

Requirements engineering

Software development

Software validation

Software evolution

  • Evolves to meet changing client needs

7 of 26

Software development process

  • Begins when a sponsor identifies a need or an opportunity
  • Defines the scope and functionality of the software
  • Transforms detailed requirements into complete detailed system design
  • Converts a design into a complete information system
  • Demonstrates that the developed software conforms to requirements as specified

Requirements engineering

Software development

Software validation

Software evolution

  • Evolves to meet changing client needs

8 of 26

Outline

  • Software process
  • Requirements engineering
    • What are requirements and why bother?
    • Requirements specifications
  • Software design
    • Distributed simulation architecture

9 of 26

What are requirements?

  • The requirements of a system define what it needs to do.

Examples:

  • The system shall track 60% of commercial chemical containers and 50% of proprietary chemicals within 4 weeks of software release.
  • While in flight each managed sUAS shall report its current coordinates each healthReportingPeriod seconds.
  • The system shall return approvals to the user within 30 seconds.
  • Video items may be renewed up to two times. Each renew extends the due date by three days.

10 of 26

Various types of requirements

  • This figure illustrates 8 types of requirements

Business requirements

User requirements

Business rules

Functional requirements

Quality attributes

External interface requirements

Constraints

Data requirements

11 of 26

Various types of requirements

  • This figure illustrates 8 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.

12 of 26

Various types of requirements

  • This figure illustrates 8 types of requirements

Business requirements

User requirements

Business rules

Functional requirements

Quality attributes

External interface requirements

Constraints

Data requirements

13 of 26

User requirements

  • Definition: Goals or tasks the users must be able to perform with the system-to-be that will provide value to someone.
  • Origin/Source: the actual end user representatives of the system-to-be.
  • Container and format:
    • User stories
  • Example:
    • As a state policy maker, I want to get a prediction of COVID death over the next four weeks, so that I can decide the best measure against COVID in my state.
    • As a healthcare professional, I want to effectively produce treatment plans based on physiological measurements from the patients so that my patients can receive timely and accurate treatment.

13

14 of 26

Data requirements

  • Definition: The essential subject matter, business objects, entities, and classes that are pertinent to the work that you are investigating.
  • Origin/Source: SME, reports, existing documents, ontology, standards, glossary
  • Container and format:
    • Software requirements specification
    • Entity-relationship model
    • Table
  • Example:

14

15 of 26

Data requirements examples

15

[Wiegers, Karl, and Joy Beatty. Software requirements. Pearson Education, 2013.]

Entity-relationship model

Detailed data field description

16 of 26

External interface requirements

  • Definition: connections between system to be and the rest of the universe, e.g., interfaces to users, hardware, and other software systems.
  • Origin/Source: end users, interacting systems
  • Container and format:
    • Software requirements specification
    • Interface specification
  • Examples:

16

17 of 26

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:

  • https://maps.googleapis.com/maps/api/place/findplacefromtext/output?parameters

where output may be either of the following values:

  • json (recommended) indicates output in JavaScript Object Notation (JSON)
  • xml indicates output as XML

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

  • Input: Text input that identifies the search target, such as a name, address, or phone number. The input must be a string. Non-string input such as a lat/lng coordinate or plus code generates an error.
  • Inputtype: The type of input. This can be one of either textquery or phonenumber. Phone numbers must be in international format (prefixed by a plus sign ("+"), followed by the country code, then the phone number itself). See E.164 ITU recommendation for more information.

Optional parameters

17

https://developers.google.com/maps/documentation/places/web-service/search-find-place

18 of 26

Software requirements specification

  • A software requirements specification (SRS) is a description of a software system to be developed.
    • Written in natural language (technical)
    • Needs to be understood by different stakeholders
    • Needs to be verified

18

19 of 26

Software requirements specification

19

Business requirements

User requirements

Business rules

Functional requirements

Quality attributes

External interface requirements

Constraints

Data requirements

20 of 26

Why bother?

  • Does requirements engineering slow down the software development?
  • Requirements are for various stakeholders of the system:
    • Clients
    • End users
    • Subject matter experts
    • Designers
    • Developers
    • Testers
    • Project manager

21 of 26

Outline

  • Software process
  • Requirements engineering
    • What are requirements and why bother?
    • Requirements specifications
  • Software design
    • Distributed simulation architecture

Masison, J., et al. "A modular computational framework for medical digital twins." Proceedings of the National Academy of Sciences 118.20 (2021).

22 of 26

Scenario

  • In Aitken basin, an astronaut traveled to an oxygen factory, a cargo rover moved to a mass driver which launched the cargo to the L2 outpost of the moon, communication satellites orbiting the moon provided radio communication to all the physical entities in Aitken basin. In the end, an anti-asteroid system tracked and destroyed a potentially dangerous asteroid approaching the moon.

Courtesy of WUSTL/Brad Jolliff

Courtesy of KSC

23 of 26

23

Network and Protocol

Distributed simulation

using HLA

24 of 26

High level architecture (HLA)

  • HLA is a general-purpose distributed simulation protocol and architecture
  • “The HLA is an architecture for interoperability and reuse of simulations.”
    • Interoperability: the ability of simulation nodes to meaningfully communicate in a distributed simulation
    • Reusability: use of existing assets in some form within the simulation development process

24

https://pitchtechnologies.com/hlatutorial/

25 of 26

The overview of HLA

  • The HLA topology is a Service Bus
  • Important terms in HLA are: Federate, Runtime Infrastructure (RTI), Federation Object Model (FOM), Federation

25

Runtime Infrastructure (RTI)

f1

f2

f3

f4

  • F= {f1, f2 …,f3} represents simulation nodes
  • O= {o1, o2, …,o8} represents simulated entities
  • A federate can represents non-simulation support node, e.g., f4
  • Runtime Infrastructure (RTI)
  • Federation Object Model (FOM)

F

o4

o5

o6

o7

o8

O

Time management

Visualization

Logging

o1

o2

o3

https://pitchtechnologies.com/hlatutorial/

26 of 26

Summary

  • Software development process
  • 8 types of software requirements
  • Distributed simulation architecture - HLA

Thanks for listening, questions?

26