cpsc 371 john d. mcgregor session 32 this is it
TRANSCRIPT
![Page 1: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/1.jpg)
CPSC 371
John D. McGregorSession 32This is it.
![Page 2: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/2.jpg)
• The company is ready to begin development of a new product.
• We are at ground zero.• How do we begin?• Look to our process for new product
development
![Page 3: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/3.jpg)
Process
![Page 4: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/4.jpg)
![Page 5: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/5.jpg)
Specification and design
problem
solution
specification
implementation
specification
![Page 6: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/6.jpg)
Analysis
• Analysis is an attempt to understand• We try to decipher what an acceptable
solution will look like• A team has some prior experiences that
provide some starting points•
![Page 7: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/7.jpg)
Domain analysis
• Domain analysis is an examination of the broader set of ideas within which the problem is framed.
• The process by which a software engineer learns enough background information so that he or she can understand the problem and make good decisions during requirements analysis and other stages of the software engineering process
![Page 8: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/8.jpg)
Context diagram
• Establishes the scope
OBD IIwireless
OBD I
wifi bluetooth
laptop
Insurance rating system
Cell phone
![Page 9: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/9.jpg)
Use cases
![Page 10: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/10.jpg)
QFD – House of Quality
![Page 11: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/11.jpg)
Feature models
![Page 12: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/12.jpg)
Configurations
![Page 13: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/13.jpg)
Value chains
• How will we deliver value to customers?• OBD to cell phone is a local app that uses
bluetooth or USB• The cell phone is the driver so the operating
company is the principal capturer of value• Cell phone to cloud is wireless/cellular
connection so again the operator is in control• Cloud provider captures value in storage fees
![Page 14: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/14.jpg)
Business models
• purpose, • business process, • target customers, • offerings, • strategies, • infrastructure, • organizational structures, • trading practices, and • operational processes and policies.
![Page 15: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/15.jpg)
Rationale for business models
• Because the business model affects the structure of the system and how we deliver value to customers
• A rapidly changing domain that is happy with approximations needs frequent releases
• A more slowly changing domain that requires accuracy needs more careful attention before a release.
![Page 16: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/16.jpg)
Requirements
• User requirements have been identified through elicitation; written in the language of the customer
• Product requirements have been identified through domain analysis; written in the language of domain experts
• “Derived” requirements are constructed by making these other requirements more explicit; written in the language of the developer
![Page 17: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/17.jpg)
Requirements
• Correct– Accurate representation of needed behavior
• Complete– Includes all needed behaviors
• Consistent – No requirement contradicts another
![Page 18: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/18.jpg)
Structuring requirements
• Abstraction• Partitioning – break system into parts such as
ODB, phone, and cloud• Projection – break system into views – such as
data flow from car to cloud
![Page 19: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/19.jpg)
Fault analysis
![Page 20: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/20.jpg)
Error models
• How are errors to be handled?
![Page 21: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/21.jpg)
Time points
• Abstract omits specific type information• Concrete refers to actual types• Type – a definition; a spec• Instantiation – a realization of one instance of
a type that will be populated with specific instances for each of its data members
• Design time – specifies what resources it will need
• Runtime – an instance bound to real resources
![Page 22: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/22.jpg)
Quality attribute scenarios
• Source of stimulus: cell phone • Stimulus: begin reading from bus• Environment: OBD dongle is plugged in• Artifact: data stream• Response: Data begins to be transferred• Response measure: data transferred at a rate
equal to the read rate
![Page 23: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/23.jpg)
Hazards
![Page 24: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/24.jpg)
Eliciting requirements at scale – KJ Method
• Affinity groups - commonality• must be's, satisfiers, and delighters.
![Page 25: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/25.jpg)
Cyber-physical systemsfeedback control loop
![Page 26: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/26.jpg)
Process
![Page 27: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/27.jpg)
Agile
• Individuals and interactions over Processes and tools
• Working software over Comprehensive documentation
• Customer collaboration over Contract negotiation
• Responding to change over Following a plan• That is, while there is value in the items on the
right, we value the items on the left more.
![Page 28: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/28.jpg)
Kanban
It uses a work-in-progress limited pull system as the core mechanism to expose system operation (or process) problems and stimulate collaboration to continuously improve the system. It is rooted in four basic principles:• Start with existing process• Agree to pursue incremental, evolutionary change• Respect the current process, roles, responsibilities and titles• Leadership at all levels
![Page 29: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/29.jpg)
CAS
![Page 30: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/30.jpg)
V model
![Page 31: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/31.jpg)
Increasing complexity in V&V
![Page 32: CPSC 371 John D. McGregor Session 32 This is it](https://reader036.vdocuments.site/reader036/viewer/2022062803/56649f225503460f94c3b160/html5/thumbnails/32.jpg)
Car
OBD
Phone
Cloud