EMBEDDED SYSTEMS SOFTWARE TRAINING CENTER Introduction to Software Engineering COPYRIGHT © 2011 DSR CORPORATION 1. What is Software Engineering? Solving Problems (cont.) The Analysis Process COPYRIGHT © 2011 DSR CORPORATION 2 1. What is Software Engineering? Solving Problems (cont.) The Synthesis Process COPYRIGHT © 2011 DSR CORPORATION 3 1. What is Software Engineering? Problem Solution Example: The Controller Network Network Summary data Sensors Central data management system Control panel Reports Local PC Control COPYRIGHT © 2011 DSR CORPORATION 4 1. What is Software Engineering? Problem Solution Example: The Controller (cont.) Data Collection Data processing Data Storing COPYRIGHT © 2011 DSR CORPORATION Data transformation (for CDMS) Data transformation (for UI) 5 1. What is Software Engineering? Problem Solution Example: The Controller (cont.) Data Collection Data processing Data Storing COPYRIGHT © 2011 DSR CORPORATION Data transformation (for CDMS) Data transformation (for UI) 6 1. What is Software Engineering? Problem Solution Example: The Controller (cont.) Sensor protocol Data Collection Data processing Data Storing Operating System facilities COPYRIGHT © 2011 DSR CORPORATION Hardware limitations Data transformation (for CDMS) Data transformation (for UI) CDMS protocol UI 3rd party SW features 7 1. What is Software Engineering? Problem Solution Example: Porting SW System to Other HW Performance increasing Memory consumption reduction Platform-specific compiler support HW limitations (RAM, ROM,CPU) Compiler efficiency Compiler features HW –specific compiler COPYRIGHT © 2011 DSR CORPORATION 8 1. What is Software Engineering? Problem Solution Example: General SW Development Problem Set of features Quality Cost Time COPYRIGHT © 2011 DSR CORPORATION 9 1 What is Software Engineering? Where Does the SW Engineer Fit In? Relationship between computer science and software engineering COPYRIGHT © 2011 DSR CORPORATION 10 2. Software Quality Terminology for Describing Bugs A fault: occurs when a human makes a mistake, called an error, in performing some software activities A failure: is a departure from the system’s required behaviour COPYRIGHT © 2011 DSR CORPORATION 11 3. Systems Approach System example: Control Panel Sensor data Sensor data Collector Data processor Network bridge Summary Data CDMS Reports UI Web Service Control DB Operating System COPYRIGHT © 2011 DSR CORPORATION Hardware 3rd party SW 12 4. Engineering Approach Activities and roles of a development team COPYRIGHT © 2011 DSR CORPORATION 13 4. Engineering Approach Who Does Software Engineering? Customer: the company, organization, or person who pays for the software system Developer: the company, organization, or person who is building the software system User: the person or people who will actually use the system COPYRIGHT © 2011 DSR CORPORATION 14 5 Wasserman’s Discipline of SE Key Factors The key factors that have changed the software development COPYRIGHT © 2011 DSR CORPORATION 15 5. Wasserman’s Discipline of SE Measurement Using measurement to help find a solution COPYRIGHT © 2011 DSR CORPORATION 16 5. Wasserman’s Discipline of SE Abstraction A description of the problem at some level of generalization Hide details COPYRIGHT © 2011 DSR CORPORATION 17 References 1. Software Engineering: Theory and Practice / Shari Lawrence Pfleeger 2. SWEBOK. Guide to the Software Engineering. Body of Knowledge. 2004 Version / A project of the IEEE Computer Society Professional Practices Committee 3. IEEE Std 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology 4. The Science of Debugging. Matt Telles, Yuan Hsieh, Mattew A. Telles 5. Anthony I. Wasserman, "Toward a Discipline of Software Engineering," IEEE Software, vol. 13, no. 6, pp. 23-31, Nov. 1996, doi:10.1109/52.542291 6. An Investigation of the Therac-25 Accidents // IEEE Computer, Vol. 26, No. 7, July 1993, pp. 18-41 http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.html 7. ARIANE 5. Flight 501 Failure. Report by the Inquiry Board. The Chairman of the Board :Prof. J. L. LIONS. http://www.di.unito.it/~damiani/ariane5rep.html 8. Мифы о безопасном ПО: уроки знаменитых катастроф. Валерий Аджиев. «Открытые системы» , № 06, 1998. http://www.osp.ru/os/1998/06/179592/ COPYRIGHT © 2011 DSR CORPORATION 18