Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José State University One Washington Square San José, CA 95192-0180 URL: http://www.cmpe.sjsu.edu/~fayad Fall 2002 SJSU -- CmpE
SJSU – CmpE ---- M.E. Fayad Lesson 1: Introduction 2 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Lesson Objectives Discuss the course syllabus Explore Issues in software engineering Introduce object-oriented analysis & design 3 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Course Outline Modeling in General Object-Oriented Analysis and Design Heuristics A Survey of Object-Oriented Analysis & Design Methods Concepts in Object-Oriented Analysis & Design Analysis & Design Models and Diagrams Software Design Methods: Object-Oriented, Process- Oriented, Type-Oriented, Real-Time-Oriented, Aspect- Oriented, etc. UML in Action 4 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Software Engineering Software engineering life cycles or phased software development models, such as Waterfall model Prototyping Spiral Model Domain-specific software engineering or “How to build enterprise application frameworks” 5 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Waterfall Model Waterfall Model Requirements Analysis Design Coding Specifications Testing 6 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Prototyping Requirements Specifications Requirements Analysis Coding Demonstration Design Testing Maintenance Prototype Code Test Build Document 7 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Spiral Model Commitment Partition Cumulative Cost Progress Through Steps Determine Objectives, Alternatives, Constraints Review Risk Analysis Prototype 2 Prototype 3 Anal. Pt 1 Operational Prototype Simulations, Models, Benchmarks Concept of Operation Software Requirements Validation Product Design Design Validation and Verification Detailed Code Unit Test Acceptance Imple- mentation Develop, Verify Next-level Plan Next Phases Integration and Test Plan Development Plan Requirements Plan Life-Cycle Plan Evaluate Alternatives, Identify, Resolve Risks Integra- tion and Test [Boehm 87] 8 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Analysis & Design What are the differences between requirement analysis and software design? What are the requirement analysis and software design? 9 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Analysis & Design Problem space Analysis One problem The “What” Fuzzy line Solution space Design Many solutions The “How” 10 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Summary Syllabus Responsibilities Lectures & Notes Course Work How do you get an A+ in this course Team Environment Assignments and Exams Analysis vs. Design 11 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Discussion Questions What are the differences between analysis & design? T/F Software design is part of the software life cycle. Software design is part of the software maintenance cycle. Define: Domain-specific software engineering 12 Fall 2002 SJSU – CmpE ---- M.E. Fayad
Questions for the Next Lecture Define the following terms Methodologies and Paradigm. Method and Process Model and View Technique and Tool Environment Heuristics What are the differences between a method and a process? What are the differences between a model and a view? 13 Fall 2002 SJSU – CmpE ---- M.E. Fayad
SJSU – CmpE ---- M.E. Fayad Tasks for Next Lecture Task 1: Problem Statement for assignments and team projects are needed (see sample problems on OOPSLA -- DesignFest). This is due on the second week of the semester. Task 2: Identify the team members of your team. Select a team name and e-mail me, the team name, team’s members’ names, their e-mails, phone numbers -- Immediately. Please note that problem statements must be submitted electronically as MS Word format. 14 Fall 2002 SJSU – CmpE ---- M.E. Fayad