01 - course intro.csc4071 csc407s / 2103s software architecture & design prof. penny bahen 5228...

10
01 - Course Intr o. CSC407 1 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 [email protected] Office hours: Wednesdays 10:00 – 11:00 (or by appointment)

Upload: blake-briggs

Post on 03-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 1

CSC407S / 2103S

Software Architecture & Design

Prof. PennyBahen 5228

[email protected] hours: Wednesdays 10:00 – 11:00

(or by appointment)

Page 2: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 2

Important Information for Graduate Students in CSC2103

• Starting this term, this course is moved to Area Ia (Programming: Languages and Methodology)– It was previously in Area Ib (Systems:

Hardware and Software)

Page 3: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 3

My Qualifications• B.Sc. / M.Sc. / Ph.D. in CS (UofT)

– Specializing in Software Engineering• Visual Architecture Description Languages

– Major projects: MiniTunis, OOT, Polyx,CE 68000 Kernel, PUMA robot arm controller

• Industry Experience– 2 years architecting C++ at IBM Toronto Labs

• C++ development environment• C++ & OODB across groups in Toronto, Texas, & Tokyo

– 5 years architecting C++ at Algorithmics• >1MLoc C++ program, CORBA, RDBMS, Java, Web, …• 10 related products, multiple releases of each• VP, Software Dev., managing team of >100, revenues >$80M/yr.

– Ongoing Consulting

Page 4: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 4

Learning to Design/Architect Software

• Formal (book) knowledge (20%)

• Experience (80%)– Characteristics:

• Large system (> 300 KLoc)

• Arms-length folk trying to get work done using it

• Associated revenue stream

• Maintenance of multiple releases over several years– Understand the mistakes that are made and try to fix them

Page 5: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 5

• Term (60%)– Assignment 1 (20%)

• OOA (10%)• OOD + OOP (Java) (10%)

• doc + UML + working Java– Assignment 2 (20%)

• OOD + OOP (Java) w/ patterns

– Assignment 3 (20%)• Systems architecture• Diagrams and written English

• Final Exam (40%)– open book (but it won’t help)

• Final GraderawGrade = exam * 0.4 + term * 0.6;return (exam < 40% ? min(49%,rawGrade):rawGrade);

Grades

Late policy: see info sheet

Work alone

Page 6: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 6

Texts

• Design Patterns– Gamma, Helm, Johnson, & Vlissides

• Acquire some book on– Object Oriented Analysis– UML for OOA and OOD– See recommendations on course info sheet

Page 7: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 7

Resources

• Home page– http://www.cs.toronto.edu/~penny/teaching/csc407

– Handouts, lecture notes, links

• Newsgroup– ut.cdf.csc407h

• Office hours

Page 8: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 8

Tutorials

• Each Friday, starting Jan.17– Assignments to rooms/groups will be posted

• Worked-out examples

• Group discussion

• Discussion of assignments

• Individual TAs will mark your assignments

Page 9: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 9

Computing

• Assignments require– Written documentation

– Printed Java code

– UML diagrams

– Other diagrams

• Any computer w/ Java (any jdk)– I use Microsoft Visio for UML and other diagrams, and

Word for docs. Use what you want.

Page 10: 01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 penny@cs.toronto.edu Office hours: Wednesdays 10:00 – 11:00

01 - Course Intro. CSC407 10

Topics

week topics

1 Overview of design and architecture

2-3 OOA/D/P overview, UML for OOA, example

4 OOP, UML for OOD

5-10 Design Patterns

10-13 Systems Architecture