. NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James Mc. Dougall Ali Ongun Rice University Generously supported by
Acknowledgements n Microsoft n MS. NET Academic Server n VS. NET for the lab machines and students n Wireless Pocket PCs for each student (with matching fund from Rice) n All the. NET books from Microsoft Press n IBM/Rational n Rational XDE UML diagramming tool via SEED
Comp 410: Software Construction Methodology n Course Description Study of software design for effective implementation and maintenance … n Prerequisites n Data Structures & Algorithms n OOP n 13 students n Sophomores, juniors and seniors n Familiar with OOP/OOD, Design Patterns & UML n Unfamiliar with C#, . NET n Project-driven n Learn by doing n Students take ownership of the project and the course n
Real World Experience Team Programmin g Customer Interactio n High level & vague specs Project Management Distributed Platform-independent Software OOP & Design Patterns Capture Abstraction Manage Complexity C# &. NET Pocket/Tablet PC State-of-the art Technologies
An Object Oriented Project Kristen Nygaard’s Restaurant of Objects
Shopping Mall Simulation n Design Shopping Mall n Mall stores may have any kind of products n Customer demographic data of any kind can be entered n Simulate interactions between mall customers and stores n Dynamic participation of stores over the WEB
Initial Concept Mall Store Client Server Store Client
Project Management Model Group Advanced Research Group User Interface Group Designed system architecture and algorithms Researched and implemented. NET network technologies Worked with the customer and designed the interface
Communication Modes IM Dev. Hood Journals Class web site Persistence Speed Listserv
Modeling Real Life Input Data Spaces Factory Entities
Driving the System
Interaction Baseball Person Examine Chair Throw Attributes Sit Attributes Coke Buy Drink Attributes Watch Buy Attributes
Object Oriented Design Behaviors Entities Spaces Attributes People Items Store Mall
Demo
Networking Network Store Mall Net. Hub Store
The Role of … Integrated Development Environment Real-World Technology Infrastructure for Distributed Computing High Level Entry Points New Programming Language (C#)
Course Schedule High-Level Architecture Design Project Introduction Scheduled Milestones Leadership Establishment Final Development and Testing Communication Development Finalize Requirements Formal Demonstration
It All Adds Up n Life-Size Project n Self-Driven Students n Level Playing Field n External Support
Summary The hands off approach from the professors combined with access to cutting-edge technology allowed us to create a meaningful application while giving us real-world experience. http: //www. exciton. cs. rice. edu/comp 410 Dr. Stephen Wong: swong@rice. edu Dr. Dung Nguyen: dxnguyen@rice. edu