net in a software engineering course: frameworks and fun stephen wong dung “zung” nguyen ryan...

19
.NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice University Generously supported by

Upload: steven-sullivan

Post on 13-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

.NET in a Software Engineering Course: Frameworks and Fun

Stephen WongDung “Zung” Nguyen

Ryan AipperspachBryan Lipinski

James McDougallAli Ongun

Rice University Generously supported by

Page 2: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Acknowledgements

Microsoft MS .NET Academic Server VS .NET for the lab machines and students Wireless Pocket PCs for each student (with

matching fund from Rice) All the .NET books from Microsoft Press

IBM/Rational Rational XDE UML diagramming tool via

SEED

Page 3: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Comp 410: Software Construction Methodology Course Description

Study of software design for effective implementation and maintenance …

Prerequisites Data Structures & Algorithms OOP

13 students Sophomores, juniors and seniors Familiar with OOP/OOD, Design Patterns &

UML Unfamiliar with C#, .NET

Project-driven Learn by doing Students take ownership of the project and

the course

Page 4: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Real World Experience

DistributedPlatform-

independent Software

State-of-the art

Technologies

ProjectManageme

nt

CustomerInteractio

n

Team Programmi

ng

OOP &Design

Patterns

High level & vague specs

Capture Abstraction

Manage Complexity

C# & .NETPocket/Tablet

PC

Page 5: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

An Object Oriented Project

Kristen Nygaard’s Restaurant of Objects

Page 6: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Shopping Mall Simulation Design Shopping Mall Mall stores may have

any kind of products Customer demographic

data of any kind can be entered

Simulate interactions between mall customers and stores

Dynamic participation of stores over the WEB

Page 7: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Mall

StoreStore

Initial Concept

Server

ClientClient

Page 8: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Project Management

Model Group

Designed system

architecture and algorithms

Advanced Research

Group

Researched and implemented .NE

T network technologies

User Interface

Group

Worked with the customer and designed the

interface

Page 9: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Communication Modes

IM

Listserv

DevHood

Journals

Class web site

Persiste

nce

Persiste

nceS

peed

Speed

Page 10: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Modeling Real Life

FactoryFactory

SpacesSpaces

EntitiesEntities

Input DataInput Data

Page 11: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Driving the System

Page 12: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Person

Interaction

Chair

Sit

Attributes

Coke

Drink

Attributes

Attributes

Attributes

Baseball

Throw

AttributesAttributes

Watch

Buy

AttributesAttributes

Buy

Watch

Buy

Attributes

Buy

ExamineExamine

Buy

Page 13: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Object Oriented Design

PeoplePeople ItemsItems

BehaviorsBehaviors

AttributesAttributes

EntitiesEntities

StoreStore MallMall

SpacesSpaces

Page 14: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Demo

Page 15: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Networking

Network

NetHub

Mall

Store

Store

Store

Page 16: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

The Role of …

IntegratedDevelopmentEnvironment

New Programming Language (C#)

High Level Entry Points

Real-World Technology

Infrastructure for Distributed

Computing

Page 17: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

Course Schedule

ProjectIntroduction

ProjectIntroduction

LeadershipEstablishmentLeadership

EstablishmentCommunicationDevelopment

CommunicationDevelopment

FinalizeRequirements

FinalizeRequirements

FormalDemonstration

FormalDemonstration

High-Level Architecture DesignHigh-Level Architecture Design

Scheduled MilestonesScheduled Milestones

Final Development and TestingFinal Development and Testing

Page 18: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

It All Adds Up

Life-Size Project

Self-Driven Students

Level Playing Field

External Support

Page 19: NET in a Software Engineering Course: Frameworks and Fun Stephen Wong Dung “Zung” Nguyen Ryan Aipperspach Bryan Lipinski James McDougall Ali Ongun Rice

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/comp410

Dr. Stephen Wong: [email protected]. Dung Nguyen: [email protected]