SOEN 343 Software Design Computer Science and Software

  • Slides: 32
Download presentation
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004

SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin SOEN 343, © P. Chalin SOEN 344, © P. Chalin

Agenda • Welcome back! • The SE challenge: an example of state-of-practice in SE.

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. 11/30/2020 SOEN 343, © P. Chalin, 2

Taking the Twinkle out of Starlight • Cover article of Dec. 2003 issue of

Taking the Twinkle out of Starlight • Cover article of Dec. 2003 issue of IEEE Spectrum. 11/30/2020 SOEN 343, © P. Chalin, 3

The Telescope • Mt. Hopkins Observatory, in Arizona • 6. 5 -meter MMT telescope,

The Telescope • Mt. Hopkins Observatory, in Arizona • 6. 5 -meter MMT telescope, • 2600 meters above sea level. 11/30/2020 SOEN 343, © P. Chalin, 4

The Telescope, a closer look 11/30/2020 SOEN 343, © P. Chalin, 5

The Telescope, a closer look 11/30/2020 SOEN 343, © P. Chalin, 5

The Problem • Atmosphere blurs images of ground based telescopes. 11/30/2020 SOEN 343, ©

The Problem • Atmosphere blurs images of ground based telescopes. 11/30/2020 SOEN 343, © P. Chalin, 6

A Solution: Adaptive Optics • “Correct” the effect of atmospheric distortions. • Can result

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 … 11/30/2020 SOEN 343, © P. Chalin, 7

Take a look in Orion 11/30/2020 SOEN 343, © P. Chalin, 8

Take a look in Orion 11/30/2020 SOEN 343, © P. Chalin, 8

Wow! How Do They Do It? • Adaptive optics. • Implemented with real-time computing

Wow! How Do They Do It? • Adaptive optics. • Implemented with real-time computing power! 11/30/2020 SOEN 343, © P. Chalin, 9

AO Built Into Secondary Mirror 11/30/2020 SOEN 343, © P. Chalin, 10

AO Built Into Secondary Mirror 11/30/2020 SOEN 343, © P. Chalin, 10

336 Actuators and 11/30/2020 SOEN 343, © P. Chalin, 11

336 Actuators and 11/30/2020 SOEN 343, © P. Chalin, 11

336 Sensors • Measurements accurate to 3 nm. 11/30/2020 SOEN 343, © P. Chalin,

336 Sensors • Measurements accurate to 3 nm. 11/30/2020 SOEN 343, © P. Chalin, 12

Entire Assembly 11/30/2020 SOEN 343, © P. Chalin, 13

Entire Assembly 11/30/2020 SOEN 343, © P. Chalin, 13

But Wait, That’s Not All! • Technique for the direct observation of extrasolar planets.

But Wait, That’s Not All! • Technique for the direct observation of extrasolar planets. • Details can be found in the article. 11/30/2020 SOEN 343, © P. Chalin, 14

“Design” in Context • Where do design activities fit into an overall SE process?

“Design” in Context • Where do design activities fit into an overall SE process? Let us take a look … 11/30/2020 SOEN 343, © P. Chalin, 15

Rational Unified Process (RUP) Disciplines 11/30/2020 SOEN 343, © P. Chalin, 16

Rational Unified Process (RUP) Disciplines 11/30/2020 SOEN 343, © P. Chalin, 16

Design vs. Requirements • Can you qualify the difference between a statement of requirements

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. ) 11/30/2020 SOEN 343, © P. Chalin, 17

Design vs. Requirements Design Architectural Detailed Implementation 11/30/2020 SOEN 343, © P. Chalin, 18

Design vs. Requirements Design Architectural Detailed Implementation 11/30/2020 SOEN 343, © P. Chalin, 18

Guidelines: International Summit SE Education • Be grounded in – Sound research and mathematical

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) 11/30/2020 SOEN 343, © P. Chalin, 19

Course • Theory • Practice • Tools 11/30/2020 SOEN 343, © P. Chalin, 20

Course • Theory • Practice • Tools 11/30/2020 SOEN 343, © P. Chalin, 20

Design Theory • Fundamental design principles. • Focus: Object-oriented analysis & design. – OOP

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. ) 11/30/2020 SOEN 343, © P. Chalin, 21

Theory Application • Practice makes perfect … and • Practice makes the material concrete.

Theory Application • Practice makes perfect … and • Practice makes the material concrete. • Design & implementation. • Eclipse 2. 1 (+ XDE). 11/30/2020 SOEN 343, © P. Chalin, 22

Practice: Application Domain • Enterprise Applications. (What? ) 11/30/2020 SOEN 343, © P. Chalin,

Practice: Application Domain • Enterprise Applications. (What? ) 11/30/2020 SOEN 343, © P. Chalin, 23

Practice: Enterprise Applications • EA Web applications. • Java Server Pages (JSP) technology. •

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. 11/30/2020 SOEN 343, © P. Chalin, 24

EA: Why? • Hot area. • Fun. • Demand for qualified developers. – Easy

EA: Why? • Hot area. • Fun. • Demand for qualified developers. – Easy to develop poor, insecure EA’s. • Gives you an edge in the job market! 11/30/2020 SOEN 343, © P. Chalin, 25

EA: JSP Technology • Actively used by industry. – Sample sites follow … 11/30/2020

EA: JSP Technology • Actively used by industry. – Sample sites follow … 11/30/2020 SOEN 343, © P. Chalin, 26

EA: Airport of Montreal 11/30/2020 SOEN 343, © P. Chalin, 27

EA: Airport of Montreal 11/30/2020 SOEN 343, © P. Chalin, 27

EA: CIBC 11/30/2020 SOEN 343, © P. Chalin, 28

EA: CIBC 11/30/2020 SOEN 343, © P. Chalin, 28

EA: IBM 11/30/2020 SOEN 343, © P. Chalin, 29

EA: IBM 11/30/2020 SOEN 343, © P. Chalin, 29

EA: Toronto Stock Exchange • Uses patterns that you will learn in this course.

EA: Toronto Stock Exchange • Uses patterns that you will learn in this course. • E. g. page controller. 11/30/2020 SOEN 343, © P. Chalin, 30

Languages, Techniques, Tools • UML. • Eclipse 2. 1 (Rational XDE) – Model Driven

Languages, Techniques, Tools • UML. • Eclipse 2. 1 (Rational XDE) – Model Driven Design. – Refactoring. • JUnit: for test-driven design. • EA: Tomcat. 11/30/2020 SOEN 343, © P. Chalin, 31

Course Information & Resources • Syllabus: any questions? • Course web site: http: //www.

Course Information & Resources • Syllabus: any questions? • Course web site: http: //www. cs. concordia. cs/~soen 343 • 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. 11/30/2020 SOEN 343, © P. Chalin, 32