cse4939-09a - University of Connecticut

advertisement
CSE 4939 (293)
CSE Design Laboratory
Prof. Alexander A. Shvartsman
Computer Science & Engineering Department
The University of Connecticut
371 Fairfield Way, Unit 2155
Storrs, CT 06269
aas@cse.uconn.edu
http://www.engr.uconn.edu/~aas
(860) 486-2672
Acknowledgment: Based on a presentation by Prof. S. A. Demurjian, Jr.
CSE 4939
Course Goals
 CSE 4939 (293): The “Second” Project Based Course
Follows CSE 261, 262, 263, 265, 268, 269

Similar Goals and Objectives but…
 You control project - “Group Independent Study”
 You make decisions, resolve problems, etc.
 You apply your coursework and experiences
 What is the Instructor’s Role?

Guide teams on potential project topics

Provide structural framework for the course

Present requirements for specifications, provide templates

Facilitate/organize meetings, respond to questions, etc.

CSE 4939
CSE 4939 Course Philosophy
 CSE 4939: senior-level, team-based, design-oriented,
writing-intensive, implementation-heavy course
 Demonstrate ability
 to work as a group
 with minimal or no guidance
 Team organizes, plans, specifies, designs,
prototypes, implements, tests, reports, delivers!
 Periodic updates
 Current web repositories are highly recommended
CSE 4939
Course Process and Overview







Identify Problem
Develop Specifications
Interactions and Feedback
Explore Design Alternatives
Detailed Design and Testing
Implementation & Integration
Team Interactions and
Dynamics
 Setting and Meeting
Milestones
 Evaluating Success/Failure
CSE 4939
 CSE Lab 1 (40XX / 26X)
 First time through
 Lots of guidance
 Suggestions & advice
 Instructor as manager
 CSE 4939 (293)
 Second Time
 Minimal Guidance
 Instructor as mentor,
facilitator, coordinator
 Major design experience
- Implement / evaluate
Texts and Class Materials
 Primarily project-specific – gathered by the team
 CSE 4939 web site (tbe)
Assignments and auxiliary documents
 Legacy CSE 293 web site at

www.engr.uconn.edu/~steve/Cse293/cse293.html

Older course materials made available on-line
 Other examples of class materials/texts

Software Download: Acrobat reader, ghostview/ghostscript

Together Control Center - UML Tool

UML Explained, K. Scott, Addison Wesley

CSE 4939
Milestones with Dates
(Initial Schedule Subject to Change)











Project Proposal – 3 days after 1st class
Functional Specification – 3rd Class
Revised Specification – 4th class
High Level Design – 5th class
Detailed Design Extract(s) – 6th class
Development/Mgmt. Plan – 7th class
Release 1 / Report /Presentation – 9th class
Release 2 / Report /Presentation – 11th class
Release 2 / Report /Presentation –13th class
Final Report/User Manual – End of Semester
Final Student Assessment – End of Semester
CSE 4939
6
Specification!
 Typical discussion
 User to developer:
“The system is not operating as specified!”
 Developer to user:
“No, the system is behaving exactly as specified!”
 How can they both be right?
 How to avoid this?
CSE 4939
7
Example: Using UML
 Typical project will be UML Based
 UML is a Language for Specifying, Visualizing, Constructing,
and Documenting Software Artifacts
 What Does a Modeling Language Provide?

Model Elements: Concepts and Semantics

Notation: Visual Rendering of Model Elements

Guidelines: Hints and Suggestions for Using Elements in
Notation
 References and Resources

Web: www.rational.com/uml/documentation.html

“The Unified Modeling Language Reference Manual”,
Addison-Wesley.
CSE 4939
UML Modeling Constructs/Diagrams
Static vs. Dynamic Perspectives
 A Diagram is a View Into a Model
Presented From the Aspect of a Particular
Stakeholder
 Provides a Partial Representation of the System
 Is Semantically Consistent With Other Views
 In the UML, There Are Nine Standard Diagrams
 Static Views: Use Case, Class, Object, Component,
Deployment
 Dynamic Views: Sequence, Collaboration,
Statechart, Activity

CSE 4939
9
UML Modeling Constructs/Diagrams
Classification by Capability/Timeline
 Use-Case Diagrams
 Class and Object Diagrams
 Behavior Diagrams
Statechart Diagrams

Activity Diagrams
 Interaction Diagrams

Sequence Diagram

Collaboration Diagram
 Implementation Diagrams

Component Diagram

Deployment Diagram

CSE 4939
Relationship Between
Models and Diagrams
Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams
Scenario
Scenario
Diagrams
Collaboration
Diagrams
Diagrams
Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams
CSE 4939
Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams
State
State
Diagrams
Class
Diagrams
Diagrams
State
State
Diagrams
Object
Diagrams
Diagrams
State
State
Diagrams
Component
Diagrams
Diagrams
Models
Component
Component
Diagrams
Deployment
Diagrams
Activity
Diagrams
Diagrams
11
Semester Requirements
 Summary







CSE 4939
Teams of 3 to 5 students
“W” course means 15 pages/team member
Revisions cycles count towards page total
Web-Page for each Team with all materials
Use of IDE or equivalent (e.g., Visual Studio,
Eclipse, etc.)
Source Code Control (Subversion or equivalent)
Team and Individual Contributions
Documentation
Packages/Requirements
 All Written Documents and Specifications must be
submitted in PDF format
 All Project Presentations Must be Done Using
Powerpoint (PPT)
 Where multiple files are involved / needed submit
zipped files
 Submissions via email to instructor (alternatives tbs)
CSE 4939
Projects Considered in the Past









Social/professional networking
Car dealership infosystem
People soft replacement
Online Poker package with statistics
Marklin Digital Trains
Atari 800 Renovation
Web-Based Journal Editor
Auditory Perception of Alphabet Letters
Heating System Design and Engineering
CSE 4939
Project/Team Web
Page/Documentation
 Each Team MUST Develop a Web Page for their Project
See Links for Former Projects as Examples

Use To Post On-Going Documents
 Augment Web Page with Detailed Design Documents

E.g., Together CC Generates Documentation

Frame Based HTML Resembles Java Doc

Make Sure you Select “All” Diagrams
 Documentation of Java with Java Doc

Utilize Together Architect

Utilize IDE

CSE 4939
First Class: Tasks
 Choosing Teams: 3-5 people
Self-Organized Teams

Instructor Approves Teams
 Meet & Brainstorming

Remainder of Class

Exchange Email and Phone Numbers

Discuss Project Ideas

Visit Prior Web Pages
 First Project Due Thursday – Expect Feedback on Friday
 First Project Presentation – 2nd class

20 to 30 minutes per team

Copy of Slides/Create & Post on Web Page

CSE 4939
Download