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