SOEN 343 Software Design Computer Science and Software
































- Slides: 32
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. (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 IEEE Spectrum. 11/30/2020 SOEN 343, © P. Chalin, 3
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 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 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
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
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, 12
Entire Assembly 11/30/2020 SOEN 343, © P. Chalin, 13
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? 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
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
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
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. • 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, 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. 11/30/2020 SOEN 343, © P. Chalin, 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! 11/30/2020 SOEN 343, © P. Chalin, 25
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: CIBC 11/30/2020 SOEN 343, © P. Chalin, 28
EA: IBM 11/30/2020 SOEN 343, © P. Chalin, 29
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 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. 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
































