CS315:
Software Analysis and Systems Design

Instructor: Dr. Ken Magel


Lecture Material

  1. Development Paradigms
  2. Common Pardigms
  3. The Software Lifecycle
  4. Prototyping
  5. Spiral Model
  6. Cleanroom Development
  7. Requirements
  8. Specifications
  9. Differences
  10. Inclass Exercise
  11. System Configuration
  12. System Analysis
  13. Possible Information System Benefits
  14. Possible Information System Costs
  15. More Possible Costs
  16. Evaluation of Alternatives
  17. Modeling the System Architecture
  18. Architecture Diagram Specification
  19. Requirement Analysis
  20. Finding the Requirements
  21. Requirement Determination
  22. Facilitated Application Specification Technique
  23. FAST continued
  24. Software Prototyping
  25. Specification Principles
  26. More Specification Principles
  27. The Software Requirements Specification
  28. SRS continued
  29. Guidelines for the SRS
  30. More SRS guidelines
  31. SREM Methodology
  32. SREM continued
  33. R-Net Notation
  34. An R-Net Example
  35. An RSL Example
  36. An R-Net for one Aspect of Pfleeger pfliers(fig)
  37. Function Oriented
  38. Decision Table
  39. A Decision table for an Elevator Door Control(fig1)
  40. A Decision table for an Elevator Door Control(fig2)
  41. A Decision table for Pfleeger pfliers
  42. A Decision tree for Modified LOCS
  43. A Decision tree for pfleeger pfliers
  44. Program Design Language
  45. PDL for an Elevator
  46. Object oriented Techniques
  47. Object oriented Techniques continued
  48. Requirement Engineering Validation System(REVS)
  49. Spefcifying transitions dependent on States(fig)
  50. Behavioral Requirements
  51. Behavioral Requirements continued
  52. State Oriented
  53. State Oriented continued
  54. STD example(fig)
  55. Finite State Machine Telephony example(fig)
  56. An STD showing gross states of the Helicopter's flight(fig)
  57. Examples
  58. Statecharts developed by David Harel to extend FSM
  59. Statecharts continued
  60. Statecharts continued
  61. The Superstate extension for FSMs(fig)
  62. Conditional Transition Extension for FSMs
  63. A statechart for capturing a Lots view of a Bicycle(fig)
  64. A statechart for capturing a Lots view of a Package(fig)
  65. Refining states with Incoming Transitions(fig)
  66. Using the superstate extension in Telephonyfig)
  67. Default entry state example(fig)
  68. Refinement using the "and" function(fig)
  69. Future Marketplace Model
  70. The Application Composition Model
  71. The Application Composition Model(CONTINUED)
  72. The Early Design Model(Chapter 5)
  73. Counting Procedure for Unadjusted Function Points
  74. Converting Function Points to Lines of Code
  75. Overall Approach: Personal Capability (PERS) Example
  76. The Post Architecture Model(Definition Checklist)
  77. The Post Architecture Model (Module Complexity Ratings versus Type of Module
  78. The Post Architecture Model(Post Architecture Cost Driver Rating Level Summary
  79. Appendix A: Master Equations
  80. Appendix A (Early Design)
  81. Appendix A Master Equations (contd)
  82. Appendix A (Post Architecture)
  83. Appendix A Master Equations(contd)
  84. Appendix A (Schedule Estimation)
  85. Appendix D: Values for COCOMO II.1997
  86. Model of Reality
  87. Goals
  88. Goals
  89. Goals
  90. Activities of Analysis
  91. End Result
  92. Identification of Objects
  93. Identification of Objects(contd)
  94. Using Nouns
  95. Using Nouns(contd)
  96. Using Nouns(contd)
  97. Additional Advice for Using this Technique
  98. Additional Advice for Using this Technique(contd)
  99. Additional Advice for Using this Technique(contd)
  100. Additional Advice for Using this Technique(contd)
  101. Additional Advice for Using this Technique(contd)
  102. Additional Advice for Using this Technique(contd)
  103. Additional Advice for Using this Technique(contd)
  104. Using Traditional Data Flow Diagrams
  105. Using Traditional Data Flow Diagrams(contd)
  106. Using Traditional Data Flow Diagrams(contd)
  107. Using Traditional Data Flow Diagrams(contd)
  108. Using Class-Responsibility Collaboration Cards
  109. Using Class-Responsibility Collaboration Cards(contd)
  110. Using Class-Responsibility Collaboration Cards(contd)
  111. Evolving Techniques
  112. Using the things to be modeled
  113. Using the things to be modeled(contd)
  114. Using Object Decomposition
  115. Using Generalization
  116. Using Subclasses
  117. Reusing an Application Framework
  118. Reusing an Application Framework(contd)
  119. Resusing Class Hierarchies
  120. Using Subassemblies
  121. Using Subassemblies(contd)