SOEN 343
Software Design
Computer Science and
Software Engineering Department
Concordia University
Fall 2004
Instructor: Patrice Chalin
Agenda
• Welcome back!
• The SE challenge:
an example of state-of-practice in SE.
(For fun, not exam material.)
• Questionnaire to fill in (on your own).
• Design in context:
– What will be covered in this course?
• Course information and resources.
10/3/2015
SOEN 343, © P.Chalin,
p. 2
Taking the Twinkle out of Starlight
• Cover article of Dec. 2003 issue of IEEE
Spectrum.
10/3/2015
SOEN 343, © P.Chalin,
p. 3
The Telescope
• Mt. Hopkins Observatory, in Arizona
• 6.5-meter MMT telescope,
• 2600 meters above sea level.
10/3/2015
SOEN 343, © P.Chalin,
p. 4
The Telescope, a closer look
10/3/2015
SOEN 343, © P.Chalin,
p. 5
The Problem
• Atmosphere blurs images of ground based
telescopes.
10/3/2015
SOEN 343, © P.Chalin,
p. 6
A Solution: Adaptive Optics
• “Correct” the effect of atmospheric distortions.
• Can result in an improvement of image
sharpness by a factor of 10.
• Here is an example …
10/3/2015
SOEN 343, © P.Chalin,
p. 7
Take a look in Orion
10/3/2015
SOEN 343, © P.Chalin,
p. 8
Wow! How Do They Do It?
• Adaptive optics.
• Implemented with real-time computing power!
10/3/2015
SOEN 343, © P.Chalin,
p. 9
AO Built Into Secondary Mirror
10/3/2015
SOEN 343, © P.Chalin, p. 10
336 Actuators and
10/3/2015
SOEN 343, © P.Chalin, p. 11
336 Sensors
• Measurements
accurate to
3 nm.
10/3/2015
SOEN 343, © P.Chalin, p. 12
Entire
Assembly
10/3/2015
SOEN 343, © P.Chalin, p. 13
But Wait, That’s Not All!
• Technique for the direct observation of extrasolar planets.
• Details can be found in the article.
10/3/2015
SOEN 343, © P.Chalin, p. 14
“Design” in Context
• Where do design activities fit into an overall
SE process? Let us take a look …
10/3/2015
SOEN 343, © P.Chalin, p. 15
Rational Unified Process (RUP)
Disciplines
10/3/2015
SOEN 343, © P.Chalin, p. 16
Design vs. Requirements
• Can you qualify the difference between a
statement of requirements and a design
statement?
• (I will be asking you for an answer next class.)
10/3/2015
SOEN 343, © P.Chalin, p. 17
Design vs. Requirements
Requirements
Design
Architectural
Detailed
Implementation
10/3/2015
SOEN 343, © P.Chalin, p. 18
Guidelines: International Summit
SE Education
• Be grounded in
– Sound research and mathematical theory,
– Widely accepted best practice.
– Underlying and enduring principles.
• Have a significant real-world basis
• Students gain some experience with tools (but
not the focus).
(International Summit SE Education, 2003)
10/3/2015
SOEN 343, © P.Chalin, p. 19
Course
• Theory
• Practice
• Tools
10/3/2015
SOEN 343, © P.Chalin, p. 20
Design Theory
• Fundamental design principles.
• Focus: Object-oriented analysis & design.
– OOP fundamentals
• Patterns.
• Secondary: design notations UML.
• (Requirements artifacts: understanding will be
assumed, but briefly reviewed.)
10/3/2015
SOEN 343, © P.Chalin, p. 21
Theory Application
• Practice makes perfect … and
• Practice makes the material concrete.
• Design & implementation.
• Eclipse 2.1 (+ XDE).
10/3/2015
SOEN 343, © P.Chalin, p. 22
Practice: Application Domain
• Enterprise Applications.
(What?)
10/3/2015
SOEN 343, © P.Chalin, p. 23
Practice: Enterprise Applications
• EA Web applications.
• Java Server Pages (JSP) technology.
• Secure & robust EA can be difficult to get
right.
– Martin Fowler’s,
Patterns of Enterprise Application Architecture.
– Foundations in this course.
– More advanced patterns in S/W Architecture
course.
10/3/2015
SOEN 343, © P.Chalin, p. 24
EA: Why?
• Hot area.
• Fun.
• Demand for qualified developers.
– Easy to develop poor, insecure EA’s.
• Gives you an edge in the job market!
10/3/2015
SOEN 343, © P.Chalin, p. 25
EA: JSP Technology
• Actively used by industry.
– Sample sites follow …
10/3/2015
SOEN 343, © P.Chalin, p. 26
EA: Airport of Montreal
10/3/2015
SOEN 343, © P.Chalin, p. 27
EA: CIBC
10/3/2015
SOEN 343, © P.Chalin, p. 28
EA: IBM
10/3/2015
SOEN 343, © P.Chalin, p. 29
EA: Toronto Stock Exchange
• Uses patterns
that you will
learn in this
course.
• E.g. page
controller.
10/3/2015
SOEN 343, © P.Chalin, p. 30
Languages, Techniques, Tools
• UML.
• Eclipse 2.1 (Rational XDE)
– Model Driven Design.
– Refactoring.
• JUnit: for test-driven design.
• EA: Tomcat.
10/3/2015
SOEN 343, © P.Chalin, p. 31
Course Information & Resources
• Syllabus: any questions?
• Course web site:
http://www.cs.concordia.cs/~soen343
• Your to do list:
– Register to course mailing list via course web site.
Register your Concordia address.
– Choose work groups (size 5).
– Attend this Friday’s tutorial in H-929 or H-905.
10/3/2015
SOEN 343, © P.Chalin, p. 32
Descargar

SOEN 343, Software Design