IT vijesti
Izdvojeno
Suradnja

Object-Oriented Analysis and Design Using UML (OO-226)
Course overview
The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, object-oriented technologies, and the Unified Modeling Language (UML). This instructor-led course uses lecture, group discussion, and facilitator-led activities (such as analyzing stakeholder interviews) to present one practical, complete, object-oriented analysis and design (OOAD) roadmap from requirements gathering to system deployment.
Students are provided a pragmatic approach to object-oriented (OO) software development using a widely adapoted methodology (the Unified Process), the latest UML specification (version 1.4), and OO technologies, such as the Java(TM) programming language. This course progresses through: a primer on OO technology and software development methodologies, requirements gathering and analysis (including interviewing stakeholders), system architecture and design, implementation, testing, and
deployment. The classroom lectures expose students to other proven OOAD practices, such as class-responsibility- colaboration (CRC) analysis (used to discover the Domain entities) and Robustness analysis (used to move from analysis to design).
Goal
Upon completion of this course, students should be able to:
- Describe the object-oriented software development process, including object-oriented methodologies and workflows
- Gather system requirements through interviews with stakeholders
- Analyze system requirements to determine the use cases and domain model of the problem domain (the Requirements model)
- Create a system architecture (the Architecture model) supporting the nonfunctional requirements (NFRs) and development constraints
- Create a system design (the Solution model) supporting the functional requirements (FRs)
Target group
Students who can benefit from this course are system architects, software engineers, systems analysts, and designers responsible for the conception and creation of object-oriented software applications.
Syllabus
1. Introducing the Software Development Process
Describe the Object-Oriented Software Development (OOSD) process
Describe how modeling supports the OOSD process
Explain the purpose, activities, and artifacts of the following OOSD workflows: Requirements Gathering, Requirements Analysis, Architecture, Design, Implementation, Testing, and Deployment
2. Examining Object-Oriented Technology
Describe how OO principles affect the software development process
Describe the fundamental OO principles
3. Choosing an Object-Oriented Methodology
Explain the best practices for OOSD methodologies
Describe the features of several common methodologies
Choose a methodology that best suits your project
4. Determining the Project Vision
Interview business owners to determine functional requirements of the software system
Analyze interview results to identify NFRs, risks, and constraints
Create a project Vision document from the results of the interviews and risk analysis
5. Gathering the System Requirements
Plan for the process of gathering requirements
Plan for the stakeholder interviews to validate and refine the FRs and NFRs from the Vision document
Document the system in the System Requirements Specification (SRS) from all requirements sources,/li>
6. Creating the Initial Use Case Diagram
Identify and describe the essential elements in a UML Use Case diagram
Develop a Use Case diagram for a software system based on the SRS
Record Use Case scenarios for architecturally significant Use Cases
7. Refining the Use Case Diagram
Document a Use Case and its scenarios in a Use Case form
Recognize and document Use Case and Actor inheritance
Recognize and document Use Case dependencies
Identify the essential elements in an Activity diagram
Validate a Use Case with an Activity diagram
8. Determining the Key Abstractions
Identify a set of candidate key abstractions
Identify the key abstractions using CRC analysis
9. Constructing the Problem Domain Model
Identify the essential elements in a UML Class diagram
Construct a Domain model using a Class diagram
Identify the essential elements in a UML Object diagram
Validate the Domain model with one or more Object diagrams
10. Creating the Analysis Model Using Robustness Analysis
Explain the purpose and elements of the Design model
Identify the essential elements of a UML Collaboration diagram
Create a Design model for a use case using Robustness analysis
Identify the essential elements of a UML Sequence diagram
Generate a Sequence diagram view of the Design model
11. Introducing Fundamental Architecture Concepts
Justify the need for the architect role
Distinguish between architecture and design
Describe the SunTone Architecture Methodology
12. Exploring the Architecture Workflow
Describe the Architecture workflow
Describe the diagrams of the key architecture views
Select the Architecture type
Create the Architecture workflow artifacts
13. Creating the Architectural Model for the Client and Presentation
Explore user interfaces
Document a graphical user interface (GUI) application in the Client tier of the Architecture model
Document a web user interface (Web UI) application in the Presentation tier of the Architecture model
14. Creating the Architectural Model for the Business Tier
Explore distributed object-oriented computing
Document the Business tier in the Architecture model
15. Creating the Architectural Model for the Resource and Integration Tiers
Document the persistence mechanism in the Resource tier of the Architecture model
Document the persistence integration mechanism in the Integration tier of the Architecture model
16. Creating the Solution Model
Create a Solution model for a GUI application
Create a Solution model for a Web UI application
17. Refining the Domain Model
Refine the attributes of the Domain model
Refine the relationships of the Domain model
Refine the methods of the Domain model
Declare the constructors of the Domain model
18. Applying Design Patterns to the Solution Model
Define the essential elements of a software pattern
Describe the Composite pattern
Describe the Strategy pattern
Describe the Observer pattern
Describe the Abstract Factory pattern
19. Modeling Complex Object State Using Statechart Diagrams
Model object state
Describe techniques for programming complex object state
Info ...
Prerequisites
Students should be able to:
- Understand object-oriented concepts and methodology
- Demonstrate a general understanding of programming, preferably using the Java programming language
- Understand the fundamentals of the systems development process
Curriculum material
Sun Microsystems Student Kit
Suggested Follow-On Courses
- Java Programming Language Workshop (SL-285)
- Developing Architectures for Enterprise Java Applications (SL-425)
- Java EE Patterns (SL-500)
Certification Programs and Certificate Tracks
This course is part of the following programs or tracks:
- SCJA
- SCJD
- SCEA
Contact
Dragutin Zivkovic
Housing d.o.o.
Zaharova 7, 10000 Zagreb
T: +385 1 4878999
F: +385 1 4878998
e-mail: dragutin.zivkovic@housing.hr


