11/29/2018 Department of Software Engineering and IT Engineering Software Quality Assurance CAMT, Chiang Mai University, Thailand November- December 2009 Claude Y. Laporte, Eng., Ph.D.
Engineering vs. Science Study a field to extracts laws, rules, trends, methods Few business constraints, lots of open choices Emphasis on complete, formal, demonstrated Get to the result: “my program runs” Engineering: Make products, with a defined level of quality Many constraints: time, money, people, legacy Many tradeoffs and compromises Ensure a continuing level of service Source: Krutchen 11/29/2018
Engineering vs. Science Unlike other engineering disciplines such as mechanical or chemical engineering, Software Engineering is not based on the physical sciences. Software Engineering has evolved mainly based on experience gathered when developing more and more complex software systems. Practitioners have gradually identified and documented ‘what to do’, ‘when to do it’, and ‘how to do it’ as practices. As those practices are published and applied by a community of users, consensus is obtained, and some regulatory organizations publish them as standards or mandate them. Laporte 2009 11/29/2018
Engineering School - École de technologie supérieure (ETS) Over 4500 students 2500 paid industrial internships in over 900 companies each year. Undergraduate Programs Software Engineering IT Engineering Construction Engineering Production Engineering Electrical Engineering Mechanical Engineering Logistics and Operations Engineering Graduate Programs Information Technology Programs in other Disciplines 650 students Professors in the department have a mean industrial experience of 10 years. 130 students. www.etsmtl.ca 11/29/2018
ETS - Software Engineering and IT Programs Department of Software Engineering and IT Engineering ETS - Software Engineering and IT Programs Software Engineer: Professional that can, using a systematic approach, develop and maintain software products and applications. IT Engineer: Professional that can, using a systematic approach, develop and maintain information systems. 11/29/2018
Compulsory Software Engineering Courses Requirements Analysis and Management Software Analysis and Design Software Design Software Architecture Software Maintenance and Testing Algorithms and Data Structures Software Quality Assurance Human Machine Interface Design Software Project Management Networking Introduction to intelligent systems Advanced Database Design Software Engineering Capstone Project 11/29/2018
Components of Software Quality Assurance (SQA) Measure and defect Quality Factors Code of Ethics Reviews, Audits, Inspections Cost of Quality Culture Staff SQA Management Tools Suppliers Verification & Validation Configuration Management Process, Activities, Tasks Standards Models QUALITY PLAN 11/29/2018
NOVEMBER 2009 Sunday Monday Tuesday Wednesday Thursday Friday Saturday 22 23 24 25 26 27 28 SE495 Start day SE495 Start day SE495 SQA 13.00-16.00 12.00-15.00 12.30-17.00 12.00-17.00 (3hrs.) (3hrs.) (4.5hrs.) (5hrs.) R.217 R.215 29 30 DECEMBER 2009 Sunday Monday Tuesday Wednesday Thursday Friday Saturday 1 2 3 4 5 SE495 SQA H.M. the King's 13.00-16.30 12.30-17.00 Birthday (3.5hrs.) (4.5hrs.) R.215 R.217 6 7 8 9 10 11 12 Constitution Day 12.00-17.00 (5hrs.) 13 14 15 16 17 18 19 Evaluation 9.00-12.00 (3hrs.) R.217 R.218 11/29/2018
Evaluations Mini tests and Pop-up Quiz 20% One page (each side) of notes is allowed Exercises/Project/ Homeworks 40% Lessons Learned Report 10% Final exam 30% Open book exam Note: Documents are sent to teaching assistant via e-mail before 22:00 hours the day of deadline given in class. A penalty of 10% per day will be applied for late delivery. 11/29/2018
References Course Web site Address: http://profs.logti.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/ Username : weblog330 Password : log330@ccess Presentation material Reading assignments Exercises Templates GALIN D., « Software Quality Assurance – From Theory to Implementation », Pearson Education Limited, 2004. 11/29/2018
1947 – First Computer ‘Bug’ A mold in a relay of the Mark II Computer In software engineering there are no bug but errors created by people 11/29/2018
? ! Quality terminology Error: human mistake E.g. mistake in a requirement Fault: result of mistake, evidenced in some development or maintenance product Inside view: from developer’s viewpoint e.g. creates a design that does not meet intent of user Failure: departure from the system’s required behavior Outside view: from user’s viewpoint ? ! can lead to can lead to Fault Failure Human Error 11/29/2018
In software engineering there are no bug but errors created by people We get rid of bugs with: 11/29/2018
How do we detect and remove human errors ? 11/29/2018