Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. Know what a requirements document is. Understand and discuss its uses
  12. - contract negotiation, user req on proposal/bids, system req on contract sign
  13. - lets stakeholders get an understanding of the system
  14. - lets developers know what to implement
  15. Know what requirements specification is. Understand ways of writing requirements
  16. -
  17. Able to discuss advantages and disadvantages of stating requirements in natural language
  18. - easier for users to understand
  19. - disadv: with calculations and math it gets much harder to understand
  20. Understand guidelines for writing requirements
  21. Understand structured and tabular format for expressing requirements.
  22.  
  23. Four activities common to RE
  24. - Elicitation
  25. - Analysis
  26. - Validation
  27. - Management/changes
  28.  
  29. Four problems with requirements elicitation
  30. - dont know what they want
  31. - express requirements poorly
  32. - requirements change
  33. - different stakeholders conflicting reuqirements
  34.  
  35. interviewing:
  36. - customers focus on specifics
  37. ethnography
  38. - can give better info on nonfuntional requirements, like organizational
  39. - downside: no innovation
  40.  
  41. requirements validation
  42. - validity
  43. - consistency
  44. - completeness
  45. - realism
  46. - verifiability
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64. ===============================
  65. System Modeling:
  66. 4 different kinds of models
  67. - Context models
  68. - How the system fits in with other external systems
  69. - Interaction models
  70. - Use Case
  71. - Models user interactions, helping identify requirements
  72. - Models communication between systems
  73. - Sequence Diagrams
  74. - Models system structure, component interaction
  75. - calls/returns, alt box, loop box
  76. - Structural models (for system architecture)
  77. - Static
  78. - Class design
  79. - UML diagrams
  80. - classname, attributes, and methods
  81. - public/protected/private!!
  82. - Dynamic
  83. - Architecture Description Language
  84. - Behavioural models
  85. - Describe what happens when external stimulus happens
  86. Data driven models:
  87. Activity model
  88. - Square is data, oval is process
  89. Sequence Diagram
  90. Event Driven models:
  91. - with minimal data processing
  92. State diagram/finite state machine
  93.  
  94. Model driven engineering:
  95. - higher abstraction
  96. - good: quick to change platforms
  97. - bad: too abstracted, cant test for bugs
  98. - often have to spend just as much time on the UML and translator
  99.  
  100. ===================================
  101.  
  102. Architectural Design
  103. - Advantages of explicit architecture:
  104. - focuses stakeholder discussion
  105. - facilitates analysis of requirements
  106. - Disadvantages
  107. - Rigorous notation
  108. - No industry standard
  109.  
  110. Architectural system characteristics - these impact how you design your arch
  111. - Performance
  112. - Security
  113. - Safety
  114. - Availability
  115. - Maintainability
  116.  
  117. Architectural Views (types of models, diff perspectives)
  118. - Logical view
  119. - Process view
  120. - Development view
  121. - Physical view
  122.  
  123. PATTERNS
  124. Good design goals:
  125. - low coupling, high cohesion
  126. Object Oriented Arch
  127. - can change impl without changing other objs
  128. - design whole system as many interacting objects
  129. - disadv: objs need to identify all other objs it wants to interact with
  130. Model View Controller
  131. - use when future is unknown
  132. - Allows data to change independently of its view
  133. - Supports presenting the same data in different ways
  134. - disadv: high code complexity when data model/interactions are simple
  135. Layered Arch
  136. - use when dev spread across several teams
  137. - Can replace entire layers
  138. - Redundant services can be provided in each layer
  139. - disadv: clear separation between layers is hard
  140. - disadv: perf bottlenecks
  141. open vs closed layers
  142. Client-Server
  143. - servers can be distributed (modular)
  144. - general functionality doesnt need to be reimplemented, simply called as a service
  145. - disadv: each service is a single point of failure
  146. - disadv: performance depends on the network now, too
  147. - disadv: servers typically owned by diff organizations (management problem)
  148. - disadv: client objs but know identity of servers
  149. Repositories
  150. - use when large volume of long term data is generated
  151. - use when data driven systems, data insert/update causes action
  152. - components dont need to know about other components
  153. - changes in one component are easily propagated
  154. - disadv: repo is single point of failure
  155. Implicit Invocation
  156. - use when events
  157. - Good for reuse
  158. - System volution is simple
  159. - disadv: special protocols needed
  160. Pipe and filter
  161. - used when batch data processing
  162. - Supports reuise
  163. - Easily understood by orgs
  164. - Can evolve easily by adding filters
  165. - disadv: needs common protocols and data formats
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement