OOPortal 





OO Problem Analysis  «Prev  Next»
Lesson 1

Domain Problem Analysis

Welcome to Object-Oriented Analysis II: Problem Analysis, the second course in the Object-Oriented Analysis and Design Fundamentals Series.
This course covers the problem analysis phase of the software development project life cycle. You will use the work products you created in the first course (which covered the project initiation phase) as the basis of your problem domain analysis in this course. These work products include:
  1. Data dictionary
  2. Use case diagrams
  3. Activity diagrams

Course goals

After completing this course, you will have the knowledge and skills to:
  1. Build class diagrams
  2. Build object diagrams to test your class diagrams
  3. Build sequence diagrams
  4. Identify interfaces using the sequence diagrams
  5. Add interfaces to the class diagram
  6. Test your analysis for completeness and correctness


The series

Object-Oriented Analysis II: Problem Analysis is the second course in the Object-Oriented Analysis and Design Fundamentals series.
This series is designed to teach you practical object-oriented business analysis. You will learn how to fully define the
  1. scope,
  2. requirements,
  3. analysis and
  4. design
for a business application using object-oriented models and techniques.
Problem domain analysis is completely independent of solution domain constructs, and is therefore eminently reusable.
Once the problem domain analysis is performed for a business domain, it can be applied to different technologies over time as technology changes.

Analysis and Design

Analysis and design are the first steps in the development of a software system. Analysis is the process of gathering software requirements and recording them in a standardized format that can be translated into design. Customers, managers, and end-users speak a different language than software engineers. Analysis bridges the gap between those who will use a software system and those who will design and code a software system. Design is the process of translating the output of analysis into a blueprint for the actual coding of a software system. Like a blueprint for a building, the design will show enough detail to allow a diverse group of managers and programmers to develop the system concurrently.
The focus of this course is on analysis and design. However, analysis and design do not exist in a vacuum; they are part of a larger process of developing object-oriented software. A development methodology details the entire process of software development, from gathering requirements to design, coding, and deployment. To fully understand the roles of analysis and design in the software development process, they will be taught in the context of the Unified Software Development Process, or Unified Process.