CS 5150 Software Engineering Lecture 1 Introduction to Software Engineering.
Software Engineering Lecture 11: System Analysis.
-
Upload
alfred-bradford -
Category
Documents
-
view
217 -
download
0
Transcript of Software Engineering Lecture 11: System Analysis.
![Page 1: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/1.jpg)
Software Engineering
Lecture 11: System Analysis
![Page 2: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/2.jpg)
Today’s Topics Requirements Analysis & Elicitation Modeling the Problem Domain Prototyping Structured Analysis Models
![Page 3: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/3.jpg)
Analysis: A Bridge Between System Engineering & Software Design
[From SEPA/5e]
![Page 4: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/4.jpg)
Interview Questions “Who is requesting the work?” “Who will use the solution?” “Desired economic benefits?” “Another source for solutions?” “What’s ‘good’ output?” “What problems are addressed?” “Environment of use?” “Special issues or constraints?” Meta-questions re: process
![Page 5: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/5.jpg)
Facilitated Application-Specific Techniques (FAST)
Conduct meetings at neutral site Rules for meetings established Formal agenda, informal discussion “Facilitator” controls meeting “Definition mechanism” agreed upon by
participants
![Page 6: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/6.jpg)
FAST [3]
Goals:• identify problem
• propose elements of a solution
• negotiate different approaches
• specify preliminary set of requirements
• atmosphere: goal-directed
![Page 7: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/7.jpg)
Quality Function Deployment (QFD)
Normal Requirements(explicitly discussed)
Expected Requirements(easy install, good doc)
Exciting Requirements(unexpected, welcome)
Prioritize, document, and discuss with customer
![Page 8: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/8.jpg)
Modeling the Information Domain
Data (numbers, text, etc.) Control (events) Information Content (objects, attributes) Information Flow
(changes to data/control during execution) Information Structure
(internal data and control, relations, etc.)
![Page 9: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/9.jpg)
[From SEPA/5e]
Information Flow and Transformation
![Page 10: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/10.jpg)
Modeling Focus on “what”, not “how” Functional models (HIPO to algorithm
identification) Behavioral models
(program state & changes thereto) Models provide:
• tool for understanding
• focal point for review
• foundation for design
![Page 11: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/11.jpg)
Partitioning
Decompose information, functional, and behavioral domains into subproblems
Vertical: expose more detail Horizontal: decompose into subcomponents
![Page 12: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/12.jpg)
[From SEPA/5e]
Horizontal Partitioning
• functional decomposition
![Page 13: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/13.jpg)
[From SEPA/5e]
VerticalPartitioning
• exposes detail
![Page 14: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/14.jpg)
Essential vs. Implementation View
Essential view• presents the functions to be accomplished, without
implementation details
Implementation view• presents “real-world” manifestation of essential elements
• “current mode of operation”(not a proposed design!)
![Page 15: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/15.jpg)
Prototyping Construct/analyze a prototype:
• to validate requirements
• to show feasibility of solution
Throwaway: discarded before full development Evolutionary: prototype is first version of
finished system
![Page 16: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/16.jpg)
[From SEPA/5e]
The Prototyping Decision Process
![Page 17: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/17.jpg)
StructuredAnalysisModel
[From SEPA/5e]
![Page 18: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/18.jpg)
Structured Analysis
Data Dictionary• descriptions of all data objects
Entity-Relationship Diagram • depicts relations between objects
Data Flow Diagram• how data are transformed
• functions that transform them
![Page 19: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/19.jpg)
Structured Analysis [2] State-Transition Diagram
• states: modes of behavior
• transitions: trigger state change
Data Object Description• note attributes of each object
Process Specification• describe each process in DFD
Control Specification• describe each state/transition in STD
![Page 20: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/20.jpg)
[Fro
m S
EPA
/5e]
Data Objects, Attributes, Relationships
![Page 21: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/21.jpg)
Tabular Representation of Data Objects
[From SEPA/5e]
![Page 22: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/22.jpg)
[Fro
m S
EPA
/5e]
Relationships
![Page 23: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/23.jpg)
[Fro
m S
EPA
/5e]
Cardinality and Modality
![Page 24: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/24.jpg)
[Fro
m S
EPA
/5e]
Simple ERD, Data Object Table
![Page 25: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/25.jpg)
[Fro
m S
EPA
/5e]
ExpandedERD
![Page 26: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/26.jpg)
[Fro
m S
EPA
/5e]
Data ObjectType Hierarchy
![Page 27: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/27.jpg)
[Fro
m S
EPA
/5e]
AssociativeData Objects
![Page 28: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/28.jpg)
Information Flow Model
[From SEPA/5e]• data flow diagram
![Page 29: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/29.jpg)
[Fro
m S
EPA
/5e]
BehavioralModel
• control flow diagram
![Page 30: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/30.jpg)
[Fro
m S
EPA
/5e]
State-TransitionDiagram
![Page 31: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/31.jpg)
Specifications Control Specification
• state-transition diagram
• program activation table: “a combinatorial specification of behavior”
Process Specification• narrative text
• pseudocode or program design language (PDL)
![Page 32: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/32.jpg)
[Fro
m S
EPA
/5e]
Program Activation Table
• which processes are invoked when an event occurs?
![Page 33: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/33.jpg)
Specifications [2] Data Dictionary (for each object):
• Name & Aliases
• Where Used / How Used
• Content Description
• Supplementary Information• data types, default values, restrictions, limitations, etc.
![Page 34: Software Engineering Lecture 11: System Analysis.](https://reader036.fdocuments.us/reader036/viewer/2022062423/5697bffc1a28abf838cc1cf3/html5/thumbnails/34.jpg)
Questions?