SE 343 / CS 343 / CS 543 Computer Science and Software Engineering Course: CS/SE3430 / CS5430 - Object-Oriented Analysis and Design Instructor: Mike Rowe Office: 215 Ullrich Hall Office Phone: 608.342.1511 Email: rowemi@uwplatt.edu Office Hours: Web site for the latest detail calendar http://www.uwplatt.edu/~rowemi/ Class Web Site: http://www.uwplatt.edu/~rowemi/classes/2011Fall/se343/se343_543_Object%20Oriented%20Analysis%20and%20Design%20Fall%202011.htm Catalog Description and Prerequisites: Requirements engineering, analysis, and specification using the object-oriented paradigm. Objectoriented architectural and detailed design. Use of an OOA&D modeling language such as UML. Investigation of OOA&D patterns. Moderate size, group project. (Fall) Components: Lecture Cross Offering: COMPUTER 3430; Prereqs/Coreqs: P: SOFTWARE 2730;. Textbooks and Required Material: Online Lections Notes Using UML: Software Engineering with Objects and Components, Perdita Stevens, Addison Wesley UML Distilled, Applying the Standard Object Modeling Language, Martin Fowler, Addison Wesley Learning Outcomes: Upon completion of this course, students should be able to: 1. Understand the role of requirements engineering in software development 2. Specify a software system design that satisfies requirements and use cases 3. Understand and practice at least one method for developing a good object-oriented design 4. Understand the role of and develop a competency in the following software engineering modeling tools or methods: a. Use Case diagrams and flows b. Class diagrams c. Sequence diagrams d. State diagrams e. Executional Architecture generation from a Class model 5. Understand the benefit of patterns in analysis and design 6. Become familiar with roles and contribute in a professional manner to a software engineering team. Relationship of Course to Program Outcomes: This course contributes to the following program outcomes: A. Foundation: Learning Outcomes 4 C. Process: Learning Outcomes 3 B. Development: Learning Outcomes 1, 2, 3, 4, 5 D. Professionalism: Learning Outcomes 5 © 2011 Mike Rowe Page 1 2/9/2016 SE 343 / CS 343 / CS 543 Supplemental Material: Course notes – on course web site The Rational Unified Process, Kruchten, ISBN 0-201-60459 An Introduction to Requirements Engineering, Ian K. Bray, ISBN: 0-201-76792-9 Software Reuse, Ivar Jacobson, et al., ISBN:0-201-92476-5 Use Case Modeling, Kurt Bittner and Ian Spence, ISBN: 0-201-70913-9 Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan Shalloway and James R. Trott, ISBN: 0-20171594-5 Object Oriented Design & Patterns, Cay Horstmann, ISBN: 0-471-31966 Real-time UML, Developing Efficient Objects for Embedded Systems, Bruce Douglassm ISBN: 0-201-65784-8 IBM/Rational Web Site: www.rational.com Grading: estimated points (+/-) Component Points 2 Tests (75 points each Final Exam 4+ Quizzes (Drop lowest grade)**** Assignments Project TOTAL 150 100 60 20 175 505* GRADES ** Percent Grade *** 92 -100% A 90 - 91% A88 - 89% B+ 83 - 87% B 80 - 82% B78 – 79% C+ 73 - 77% C 70 - 72% C68 - 69% D+ 60 - 67% D Below 60% F * Students taking this course for graduate credit are required to do an extra project that will count for 100 points, and their grade will be out of 600 points. See below for details. ** Students auditing the course must see the instructor to determine what is required for an 'S'. *** Grades will be rounded to the nearest whole percentage. These percentages may be lowered, but will not be raised. All students must participate in each project/lab. Those who do not will have their total points reduced by at least 10%. **** Missed quizzes and tests cannot be made up. Excused missed quizzes and tests will receive prorated points from the next test. For example if you miss the first quiz due to an excused event, then the 10 quiz points will be derived from the grade on Test 1. Unexcused quizzes and tests will receive ZERO points. The Project: o o o o I. All assignments will be turned in electronically. This shall be accomplished by checking in all files into your team’s SourceSafe repository. All assignments shall include a project report (see web page for a sample). Time log – All of the deliverables shall include a journal and summarization of the efforts necessary to produce them. This shall include: who did what, how long did it take each person, when was it done, and any problems or issues encountered. The official time tracking system shall be the SE Tools utility see: https://gamma.uwplatt.edu/SE_Tools/ Project work is considered a very important part of this course. All students must participate in each project/lab. Those who do not will have their total points reduced by at least 10%.. Analysis (75 pts estimate) Tentative Due Dates, high level descriptions, and point values. Item 0: Points: 4 Date Due: Sept 9 Drop Dead Date: Noon Sept 9 Item 1: Points: 14 Date Due: Sept 14 Drop Dead Date: Noon Sept 20 Item 2: Points: 15 Date Due: Sept TBD Drop Dead Date: Sept TBD Item 3: Points: 25 Date Due: Sept TBD Drop Dead Date: Sept-Oct TBD © 2011 Mike Rowe Page 2 2/9/2016 SE 343 / CS 343 / CS 543 Item 4: Points: 25 0. 1. 2. 3. 4. II. Date Due: Oct TBD Drop Dead Date: Oct TBD Setting up Project Team – Form project teams see web page for complete requirements. Concepts Document and Project Preliminary Research – This deliverable will produce a high-level overview of the project, including some research on current industry overview. See class web page for details. Use Case Descriptions and Diagram – This deliverable shall consist of a Use Case Task Level Goal List, Use Case Briefs, Use Case Design Scope Diagram. The complete description is on the class web site. See class web page for details. Use Case Flows – (Detailed process flows for of each use case.) – Do not forget about traceability, preconditions, postconditions, inclusions, extensions, generalizations / specializations, and other use case flow details talked about in class. See class web page for details. High-level Class Diagram – Identify and analyze candidate objects/classes. Produce CRC cards for classes. Finally, use Rational Rose to diagram the domain classes, relationships between the classes, and multiplicities. No attributes are required in the Class diagrams. See class web page for details. Design (100 pts estimate) Tentative Due Dates and point values). Item 5: Points: 25 Date Due: Oct - Nov TBD Item 6: Points: 20 Date Due: Nov TBD Item 7: Points: 20 Date Due: Nov TBD Item 8: Points: 15 Date Due: Dec TBD Item 9: Points: 20 Date Due: Dec TBD 5. 6. 7. 8. 9. Drop Dead Date: Oct - Nov TBD Drop Dead Date: Nov TBD Drop Dead Date: Nov TBD Drop Dead Date: Dec TBD Drop Dead Date: Dec TBD Detailed (refined) Class Diagram – Your diagram must have refined relationships, all major and some minor attributes, and all major and some minor operations. See class web page for details. Interaction Sequence Diagrams – Produce major design-level interaction sequence and/or interaction collaboration diagrams. See class web page for details. State Diagrams – Make detailed state diagrams of the most dynamic classes in your class diagram. See class web page for details. Design Patterns – Identify where some of the patterns we discussed in class would have been appropriate to use in your project. Use appropriate portions of class diagrams and corresponding text documentation to convey this information. See class web page for details. Executable Architecture – Use Rational Rose to generate code from your fully specified model. Discuss the level of code generation and the relationship of the model to the generated code. I’m looking for attribute and parameter typing, methods parameters, method return types, as well as good classes. See class web page for details. Additional Notes: 1. Official notices from me will be emailed. Students are responsible for checking your@uwplatt.edu email regularly for any notices. All class related email shall include “SE343” or “CS543” in the subject line. If you forward your email, it is your responsibility to ensure that the forwarding is working. 2. Professionalism and Respect for others: While in class and performing activities related to this class, it is expected that all members of this class will conduct themselves in a professional manner. This includes but is not limited to: not disrupting the class, showing respect and professionalism in all work assignments, and meeting commitments to your team and class members. 3. Academic misconduct: You are responsible for honestly completing and representing your work, for appropriately citing sources, accurately recording project time, and for respecting the academic endeavors of others. You will be penalized for violating these standards and may even be expelled from the University. See UWS Student Handbook for details. This includes plagiarism and project time misrepresentation. 4. Religious Accommodations: You have the right to miss class for religious observances. Students wishing time off for this reason should let their instructor know within the first two weeks of class. 5. Absence due to illness or crisis: Sometimes absence from class is unavoidable because of illness or a crisis. Such illness should be reported to the Student Health Services. Emergencies other than illness that cause absence from class should be reported to the office of Student Affairs. In most cases, it should be possible to inform the instructor of an absence before © 2011 Mike Rowe Page 3 2/9/2016 SE 343 / CS 343 / CS 543 such things as tests. Students are expected to meet with their instructors as soon as possible after the crisis has passed and arrange to make up any missed work. 6. Disabilities: Reasonable accommodations will be provided for students with physical, sensory, cognitive, systemic, and psychiatric disabilities. Please discuss any accommodations you may need with the instructor. A VISA from Services for Students with Disabilities authorizing your accommodations will be needed. 7. Timeliness of assignment completion: It is expected that all assignments, labs, and projects will be completed on time! See Absence due to illness or crisis above. 8. Attendance: Do not skip class! Nearly every class meeting will have some class time available for team project work. If you happen to miss a class, get the notes from a friend prior to the next class period. You are still responsible for all assigned work! All students must participate in each project/lab to be earn full credit. Topic Outline: Tentative Order Topics Introduction The rules and the Project Object Orientation OOP Review OOA&D History and Overview OO Development Process Requirements Engineering, Analysis, and Specification Requirements Engineering Use Cases Prototyping Class Models Interaction Diagrams Verification and Validation OO Architectural and Detailed Design Class Diagrams Interaction Diagrams State Diagrams Activity Diagrams OO Design Patterns Verification and Validation Design Patterns Reuse and Business Objects, notes from Ivar Jacobson Stevens Chapters Fowler Chapters 1,2 3 4 1 1 2 3 7, 8 4 5, 6 9, 10 19 3 2 4, 5 6 5, 6 9, 10 11, 12 11 18 + handouts 19 4, 5 6 8 9 2 Differential for Slash Graduate Course (SE 3430 / CS 5430): Analysis of another OOA&D tool There are several commercial OOA&D tools. Write a paper that describes a commercial tool and contrast it with Rose. Implement your team’s product in this system and describe the experience and the final outcome. Or pick some other topic related to OOA&D. Evaluation of Graduate Level Project Date Topic approval – exchange email Initial Problem Statement and Outline (about a page ) Detailed outline and list of several references Final Report TOTAL 1-Oct 15-OCT 1-Nov 1-Dec © 2011 Mike Rowe Page 4 POINTS Possible 5 10 20 65 100 2/9/2016