302x Filetype PDF File size 0.06 MB Source: www.iso.org
Proc. 2013 Canadian Engineering Education Association (CEEA13) Conf.
Software Quality Assurance
in an Undergraduate Software Engineering Program
Claude Y. Laporte, Alain April
École de technologie supérieure (ÉTS)
claude.laporte@etsmtl.ca, alain.april@etsmtl.ca
Abstract – Software tests are used by most The École de technologie supérieure (ÉTS) began
organizations. However, many other software quality offering its undergraduate software engineering program
assurance practices are often neglected. Most developers in 2001. Recent publications have described the extensive
are not aware of the high cost of inferior quality and its use of capstone projects, tools, and frameworks in that
impact on the duration and budget of a project. At the program [8, 9]. The aim of this specific SQA course (see
École de technologie supérieure (ÉTS), software quality LOG330 in Table 1), which is mandatory in the ÉTS
assurance (SQA) is taught in lecture format in the software engineering curriculum, is to ensure that
undergraduate software engineering curriculum. The software engineering students are aware of the importance
SQA course covers the concepts of the business model of SQA, and that they understand and are able to manage
and the cost of quality, to convince students of the and apply SQA practices in real situations. This also
importance of putting in place adequate prevention and includes hands-on knowledge of the key ISO and IEEE
evaluation practices, both to reduce the number of defects standards, as well as how to use industrial and open
and to predict the extra effort needed to correct defects source SQA tools in practice. The course allows students
introduced as the work progresses. to apply a wide range of SQA practices throughout a
software development cycle in a capstone project.
The course includes a 10-week capstone project in which
teams of 4 students apply the SQA practices taught in The professors who designed the SQA course, and are
class in a software development assignment. The students now teaching it, have combined industrial experience of
collect measures throughout the 10-week period, and the more than 20 years, mainly in the telecommunication,
performance of each team is analyzed. This analysis defense, and railway sectors. The course is made up of
allows discussion to take place on the positive impact of lectures, practical exercises, and a team project. A
SQA practices as a way to deliver quality software on continuous process of student evaluation is carried out to
time and within budget. ensure that the concepts are well understood. The
assessments are performed using exams, laboratory
Keywords: software quality assurance, standards, sessions, and mini-tests. The software tools, mostly open
ISO/IEC 29110, cost of quality, capstone project. source, provide the necessary support to students to
enable them to work with SQA as it is performed in
industry.
1. INTRODUCTION
This article is divided into two sections. First, the
As reported by Charette [2], software specialists spend authors present an overview of the undergraduate
about 40 to 50 percent of their time on avoidable rework. program in software engineering offered at the ÉTS. They
The ability of organizations to compete, adapt, and then present a detailed description of the SQA course, and
survive is increasingly dependent on quality, productivity, of the laboratory sessions.
development time, and cost. Systems and software are
growing larger and more complex every year. For 2. OVERVIEW OF THE SOFTWARE
example, top-of-the-line cars contain up to 100 million ENGINEERING CURRICULUM
lines of code, 80 processors, and 5 bus systems (Charette,
2005). Software quality assurance (SQA) becomes even The education system in Quebec is somewhat different
more important when we consider all the software from that in the rest of North America. Students attend
development projects that have failed, and the financial secondary school for only five years, followed by two or
losses generated by those failures. three years at a Cégep, or General and Vocational
College, which offers college-level programs for entry
into university (with two-year pre-university programs) or
CEEA13; Paper 109
Montreal, QC; June 17-20, 2013 – 1 of 6 –
Proc. 2013 Canadian Engineering Education Association (CEEA13) Conf.
training for students for technical or technological careers, the curriculum, and excludes courses such as
the latter being roughly the equivalent of community mathematics, physics, management, and the social
colleges elsewhere in North America. A student planning sciences, which are common to all undergraduate
to attend university would spend two years at a Cégep, engineering programs at the school.
followed by three or four years at a university to earn an
undergraduate degree. However, the ÉTS is exceptional, Table 1: List of software engineering courses at the ÉTS
in that its programs are designed for students who have Course ID Course title
completed a three-year technology-oriented Cégep
program. As a consequence, all students accepted at the LOG121 Object Oriented
ÉTS have received training in a technical discipline LOG210 Software Analysis and Design
related to engineering. In the case of software engineering LOG240 Tests and Maintenance
(SE), this means that the students have three years of LOG320 Data Structures and Algorithms
programming education and experience prior to their LOG330 Software Quality Assurance
arrival at the ÉTS. We are therefore able to teach LOG350 User Interface Design and Evaluation
concepts, such as OOD, OOA, and design patterns, during LOG410 Needs and Requirements Analysis
their first year, and software architecture during their and Specifications
second year, for example. LOG430 Software Architecture
LOG515 Software Project Management
The ÉTS is exclusively an engineering school, and LOG550 Real Time System Design
belongs to the University of Québec network of LOG610 Network and Telecommunications
institutions. The school is relatively young, having been LOG625
established in 1974. As of April 2013, the total number of Introduction to Intelligent Systems
active students was approximately 7,000, of which about LOG660 High Performance Database
1,600 are graduate students. It is the fourth largest LOG792 Capstone Project
engineering school in Canada, in terms of the number of
undergraduate students enrolled. The school offers The SE program has been designed to meet the criteria
undergraduate engineering programs in six disciplines, of the Canadian Engineering Accreditation Board, and
including SE, which is the focus of this paper. All the was accredited for the first time in 2001. Graduates of the
engineering programs at the ÉTS integrate cooperative ÉTS are automatically admitted to Quebec’s professional
(co-op) education, which involves practical work carried body of engineers, the Ordre des ingénieurs du Québec
out in industry. Students must complete three co-op terms, (OIQ) (Professional Association of Engineers of the
which last four months each. The school places 2,400 Province of Québec).
students in 1,100 companies each year for these terms.
The students are paid around $11,000 for their 3. SOFTWARE QUALITY
internships, and this constitutes an important revenue ASSURANCE COURSE
source for them during their studies, as well as
establishing the student in an employer/employee 3.1 Lectures
relationship. Because of the incoming students’ technical
background and the co-op nature of our programs, the The SQA course is composed of thirteen 3-hour
ÉTS is considered a very “hands-on” school, which it is, lectures. Each lecture topic is illustrated with industrial
both by design and by mission. It is also worth noting examples, international or professional standards, and
that, according to 2004 statistics, 96% of companies in process improvement model practices. To ensure that
Quebec are small and medium-sized enterprises (SMEs), students grasp the importance of SQA activities, the
and 83% of those employ four people or fewer [11]. This business model concept and the cost of quality concept
reality is taken into account in the design of our programs are stressed throughout the course. When performing
and courses, especially given the fact that Quebec’s SQA activities as part of their term projects, students must
economy includes 25% of Canada’s IT firms [11]. make tradeoffs between prevention, appraisal, conformity,
and rework costs. They must experience firsthand that an
The SE curriculum is a 10-term program, including the investment in prevention and appraisal will significantly
three mandatory 4-month paid internships. Courses are reduce failure costs in the future (rework effort, for
offered during all three 4-month terms of the academic example).
year. Students may opt to complete their internships
during the fall, winter, or summer terms. Every course Since data on the cost of quality published in papers
includes a weekly 3-hour lecture and a weekly 2- or 3- are often very far from the students’ experience, and to
hour laboratory session, where students must complete ensure that the principles associated with that cost are
practical assignments. Table 1 lists the core SE courses in
CEEA13; Paper 109
Montreal, QC; June 17-20, 2013 – 2 of 6 –
Proc. 2013 Canadian Engineering Education Association (CEEA13) Conf.
well understood, students are required to continuously Selection of a review type
measure the cost of rework in their term projects. They 6 Software Audit
are also required to analyze their data and draw Audit and problem resolution according to
conclusions on the benefits of SQA activities. Students ISO/IEC/IEEE 12207
are often amazed that their own project data may reveal a Audit according to the CMMI-Dev model
cost of failure of 50%, and sometimes 70%, of the total Audit according to IEEE-1028
project effort. Corrective actions
The audit and the software quality
The lectures, described in Table 2, follow the assurance plan
sequence set out in the French language textbooks A case study
7 Verification and validation (V&V)
published by the co-authors in 2009 [1,5]. An English Costs and benefits of V&V
version of the textbooks will be published by John Wiley Standards (IEEE-1012) and models which
in late 2013 or early 2014 [6]. require or define V&V
Independent V&V
Table 2: List of SQA course topics Traceability
The validation of software
Lecture Course title Testing
1 Introduction Checklists
How is software quality defined? V&V techniques
Business models and the selection of The V&V plan
software engineering practices 8 Configuration Management
Software errors, mistakes, and failures The usefulness of software configuration
The quality of software management (SCM)
Software quality assurance SCM activities
2 Quality culture IEEE-828 Configuration management
The cost of software quality standard
What is a quality culture? SCM library and branches
The five dimensions of a software project Configuration control
The IEEE Code of Ethics for software Configuration status accounting
engineer Configuration audit
3 Quality requirements The implementation of SCM in a small
Models of software quality (ISO/IEC organization
25000) SCM policy
The definition of software quality 9 Policies, processes, and procedures
requirements Policies
The traceability of requirements in the Processes
software life cycle Procedures
4 Standards and models Organizational standards
Standards, the cost of quality, and Documentation standard (ISO/IEC/IEEE
business models 15289)
An overview of standards and best Case study
practice models The personal software process
The main quality management standards 10 Measurement
ISO/IEC/IEEE 12207 The importance of measurement
IEEE-730 The measurement process of
Other models, standards, guidelines, and ISO/IEC/IEEE 12207
quality procedures The Practical Software and Systems
ISO/IEC 29110 for very small entities Measurement Method
Specific standards for an application ISO/IEC/IEEE 15939 Measurement
domain (e.g. DO-178) standard
ISO/IEC/IEEE 15289 standard for the Measurement in the CMMI-Dev model
description of software products The survey as a measurement tool
5 Software Reviews The implementation of a measurement
Personal review, desk check-type review program
Reviews described in IEEE-1028 and Practical considerations
CMMI for development model The human side of measurement
The Walkthrough 11 Risk management
The Inspection Risk management according to standards
The Project launch review ISO 12207, ISO 9001, and ISO 16326 and
Agile meetings the CMMI-Dev model
Measures ISO/IEC/IEEE 16085 Risk Management
standard
CEEA13; Paper 109
Montreal, QC; June 17-20, 2013 – 3 of 6 –
Proc. 2013 Canadian Engineering Education Association (CEEA13) Conf.
Practical considerations used in a development project and why. They also use the
Human factors in risk management guide as a framework for their team project.
12 Management of suppliers and contracts
Supplier agreement management 3.3 Laboratory Sessions
according to the CMMI-Dev model
Management of external participants The laboratory sessions have been designed in such a
Life cycle of software acquisition way that teams of students can apply the SQA practices
Types of software contracts
Contract reviews presented in the lectures to their SQA term projects.
13 Software quality assurance plan
Introduction Students attend twelve 2-hour laboratory sessions
IEEE-730 and the software quality during a semester. After completing the first two sessions
assurance plan on the code of ethics and the business models, students
embark on a project in teams of four for a period of ten
3.2 Use of Standards weeks where they must apply the SQA practices
presented in the course, using the ISO/IEC 29110
SE students and professors at the ÉTS have access to standard as the framework for the project. The teachers
the full content of the IEEE electronic library, including randomly create the teams, to simulate an industrial
all IEEE standards. These standards are used both in class context where an employee doesn’t usually choose his
and in laboratory sessions. Until recently, we were not teammates.
able to use the ISO standards, as they were too expensive
for students to buy. One of the authors has finalized an At the start of the project, the teams receive a copy of
agreement with the Canadian ISO standards providers: the the Statement of Work (SOW), which they use to develop
Standards Council of Canada (SCC). The agreement the project plan. During the planning phase of the project,
allows all registered SQA students to download standards the four students in a team must share the following roles,
selected by the professor from the SCC website. The as defined in ISO/IEC 29110: analyst, designer,
following standards are discussed in the SQA course: programmer, technical lead, and project manager.
- ISO/IEC/IEEE 24765 (Systems and software Monitoring this process is the responsibility of the teacher
engineering - Vocabulary) or the lab supervisor, who plays the role of customer.
- ISO/IEC/IEEE 12207 (Systems and software
engineering - Software life cycle processes) During the first week of the project, students are also
- ISO/IEC 25000 (Software engineering - Software required to select and install the tools they will use during
product Quality Requirements and Evaluation the project. For example, they must choose and install a
(SQuaRE) - Guide to SQuaRE) document repository, a version control tool, and an issue
- ISO/IEC/IEEE 16085 (Systems and software tracking tool, among others.
engineering - Life cycle processes - Risk
management) Then, the four team members must complete and sign
- ISO 9001 (Quality management systems - a contract which specifies the roles of each participant,
Requirements) the team deliverables, the expectations of each
- ISO/IEC 29110 (Software engineering - Life cycle participant, and the operating rules which they agree to
profiles for Very Small Entities (VSEs)) respect. The course website lists the objectives and
- ISO/IEC 90003 (Software engineering - deliverables for each of the ten weeks of the project. The
Guidelines for the application of ISO 9001:2000 to site also contains all the templates required to produce the
computer software) deliverables. The templates list the content of the
- ISO/IEC/IEEE 15939 (Systems and software documents required by ISO/IEC 29110, such as the
engineering - Measurement process) project plan and the specifications of the software. The
- ISO/IEC/IEEE 15289 (Systems and software site also includes descriptions of the various reviews they
engineering - Content of life cycle information have to perform (e.g. desk check, walkthrough) and forms
products (documentation) for registering any anomalies, e.g. defects, they find
during the review process.
During the course, students are introduced to the
recently published ISO software development standard Teams must estimate the effort that will be needed by
ISO/IEC 29110 [13] targeting Very Small Entities each member to carry out the activities and deliverables
(VSEs). Students use the engineering and management required by ISO 29110. These estimates are recorded on a
guide included in ISO 29110 which is freely available in spreadsheet, and every week members of the team must
English or French from the ISO [3,4], as a framework to record the hours they have worked on defined project
help them understand when software quality practices are
CEEA13; Paper 109
Montreal, QC; June 17-20, 2013 – 4 of 6 –
no reviews yet
Please Login to review.