Computer Science and Software Engineering

advertisement
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
Download