L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA
L1-S2Introduction 2003 SJSU – CmpE---- M.E. Fayad 2 Lesson 1: Introduction
L1-S3Introduction 2003 SJSU – CmpE---- M.E. Fayad Lesson Objectives 3 Discuss the course syllabus Explore Issues in software engineering Introduce object-oriented analysis & design
L1-S4Introduction 2003 SJSU – CmpE---- M.E. Fayad Modeling in General Object-Oriented Analysis and Design Heuristics Concepts in Object-Oriented Analysis & Design Object-Oriented Analysis & Design Models and Diagrams Overview of Software Design Methods: Object-Oriented, Process-Oriented, Type-Oriented, Real-Time-Oriented, Aspect-Oriented, etc. UML in Action Software Stability 4 Course Outline
L1-S5Introduction 2003 SJSU – CmpE---- M.E. Fayad Software engineering life cycles or phased software development models, such as –Waterfall model –Prototyping –Spiral Model 5 Software Engineering
L1-S6Introduction 2003 SJSU – CmpE---- M.E. Fayad 6 Waterfall Model Requirements Analysis Design Coding Requirements Specifications Testing
L1-S7Introduction 2003 SJSU – CmpE---- M.E. Fayad 7 Prototyping Requirements Specifications Requirements Analysis Coding Demonstration Design Coding Testing Maintenance Design Prototype Coding DesignCode Test Maintenance Requirements Build Prototype Document Requirements Test Prototype
L1-S8Introduction 2003 SJSU – CmpE---- M.E. Fayad 8 Spiral Model
L1-S9Introduction 2003 SJSU – CmpE---- M.E. Fayad Testing is in the wrong place. Testing should be part of each phase. The results: –Testable Requirements –Testable Design –Testable Code 9 Observations RDCTRDCT (a) RtDtCtTRtDtCtT (b) Х
L1-S10Introduction 2003 SJSU – CmpE---- M.E. Fayad What are the differences between requirement analysis and software design? What are the requirement analysis and software design? 10 Analysis & Design
L1-S11Introduction 2003 SJSU – CmpE---- M.E. Fayad 11 Analysis & Design Fuzzy line Problem space Analysis One problem The “What” Solution space Design Many solutions The “How”
L1-S12Introduction 2003 SJSU – CmpE---- M.E. Fayad Syllabus Responsibilities Lectures & Notes Course Work How do you get an A+ in this course Team Environment Team Projects and Exams Analysis vs. Design 12 Summary
L1-S13Introduction 2003 SJSU – CmpE---- M.E. Fayad 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. Debate: –Understanding the problem is more important than coming up with solutions for it. –There is always a fuzzy line between the problem space and the solution space. Essay Topic 1: Name and describe a method that allows for analysis / design / implementation in the same time? Essay Topic 2: What is the “what” in the problem space? 13 Discussion Questions
L1-S14Introduction 2003 SJSU – CmpE---- M.E. Fayad 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? 14 Questions for the Next Lecture
L1-S15Introduction 2003 SJSU – CmpE---- M.E. Fayad Task 1: Problem Statement for team projects are needed (see sample problems on OOPSLA – DesignFest). This is due on the third week of the semester. Task 2: Identify the team members of your team. Select a team name and me, the team name, team’s members’ names, their s, phone numbers -- Immediately. Task 3: Think about extra assignments and writing essays. me if you like to start right away. Please note that problem statements must be submitted electronically as MS Word format. 15 Tasks for Next Lecture