[Skip Navigation] [ CSUSB ] / [CNS] / [CSE] / [R J Botting] / [CS375] [Search ]
[About] [Contact] [Grades] [Objectives] [Patterns] [Projects] [Schedule] [Syllabus]
Session: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
[Text Version] about.html Wed Jan 11 07:26:09 PST 2012

Contents


    About CS375 Requirements Analysis and Design

      This web site defines a required course in the BA in Computer Systems at California State University, San Bernardino.

      The course is designed to be useful for anyone interested in producing good object-oriented systems in any language.

      The catalog entry reads

        Requirements analysis, including organisational objectives, functional characteristics, technology, use cases and conceptual models. The use of aspects, patterns, objects, and structure in architectural design specifications. Includes analysis and Design of a software system for an organization, and fieldwork.

      Each page has a similar layout and starts with some simulated "Buttons":
      Table
      [CNS] The College of Natural Science home page
      [Comp Sci Dept] The computer science dept web page
      [R J Botting] My web page
      [CS375] This course web page
      [About] This page
      [Contact] Send me Email
      [Grades] See your grades (needs a secret personal key)
      [Objectives] What people can learn in this course
      [Patterns] Some common classes of problems and how to solve them
      [Projects] Project work
      [Question] Submit work due before each class.
      [Schedule] Event scheduled in this class
      [Syllabus] Rules
      [Search ...] Find information on the CS375 course
      [nn] Information on Session number nn

      (Close Table)

    Standard Definitions

  1. Artifact::="Anything that is created in the course of a project".
  2. artifact::=see above.
  3. DCD::diagram="Design Class Diagram", shows the classes that will be implemented in code.
  4. Deliverables::="A packet of artifacts that must be prepared by a deadline for review or distribution".
  5. Glossary::= See http://cse.csusb.edu/dick/cs375/uml.glossary.html.
  6. GoF::="Gang of Four", [ patterns.html#GoF ]
  7. GRASP::patterns="General Responsibility Assignment Software Patterns", a set of guidelines for designing objects and classes. They take a single event that the system must handle and determine a good class to carry it out. See [ patterns.html#GRASP -- General Responsibility Assignment Software Patterns ]
  8. Grades::= See http://cse.csusb.edu/dick/cs375/grading/.

  9. KISS::Folk_law="Keep It Simple, Stupid", in agile processes this means never drawing a diagram or preparing a document that doesn't provide value to the clients and stakeholders. In all processes it means never designing or coding what is not needed, see YAGNI.

  10. OO::shorthand="Object-Oriented".

  11. OOAD::="Object-Oriented Analysis and Design", See chapter 1 in text.
  12. patterns::="Documented families of problems and matching solutions", see Patterns.
  13. Patterns::= See http://cse.csusb.edu/dick/cs375/patterns.html.

  14. Process::="How to develop software".

  15. RJB::=The author of this document, RJB="Richard J Botting, Comp Sci Dept, CSUSB".
  16. RUP::Process="Rational UP", a proprietary version of UP.

  17. SSD::="System Sequence Diagrams", see chapter 10.

  18. TBA::="To Be Announced".

  19. UML::="Unified Modeling Language". [ Unified_Modeling_Language ]

  20. UP::="Unified Process", an iterative, risk-driven, and evolutionary way to develop OO software.

  21. YAGNI::XP="You Ain't Gonna Need It", an XP slogan that stops you planning and coding for things that are not yet needed. As a rule the future is not predictable enough to program a feature until the stakeholders actually need now. In this class it also means "It won't be on the final or in quizzes".

  22. XP::="Extreme Programming", the ultimate iterative, code-centric, user-involved process.

End