Skip To Content

Athabasca University

Using Your Study Guide

COMP 610 examines a cross-section of the wide range of topics in software engineering. The Study Guide is your guide to this course: by working through the Study Guide unit by unit, you will be directed to every component and resource of COMP 610.

Each unit is divided into sections, and each section may have several objectives. Read through each unit, section, and objective sequentially, and complete the activities to help you achieve the objectives. Each objective includes Required Readings, Supplemental Readings, Discussion Questions, and Objective Activities. You must read all of the Required Readings, and answer the Discussion Questions. The Discussion Questions will help you focus on the objective, and digest the relevant material. The Supplemental Readings are a resource that you may use to pursue topics that interest you; they may also serve as a starting point for your work on the Assignments.

COMP 610 makes use of the "Software Engineering Body of Knowledge" Version 3.0 (SWEBOK) [Bourque and Fairley 2014]. It is a collaborative effort of the software engineering community to provide a comprehensive summary of topics in software engineering. Please download the SWEBOK from https://www.computer.org/education/bodies-of-knowledge/software-engineering. SWEBOK will help you learn some of the basic concepts, but it is not written in the form of a traditional textbook, and it does not contain many examples. Once you have read the appropriate section of the SWEBOK as indicated in the Study Guide, read the research papers listed, which will further clarify and exemplify some of the more important topics. Note that the articles listed in the Study Guide are arranged in the order in which you should read them.

All of the references provided are either freely available on the Web, or they are accessible through AU's Library (https://www.athabascau.ca/library/). To access the articles through the library, select "E-Journals" from the vertical sidebar, and search for the journal in question under the link for the "AU Journal Title List".

To access an article directly, follow the URL of the paper (provided in the Study Guide) to the web site of a digital library (generally the publisher's web site). Once your URL is resolved, you will need to add an AU Library proxy into your URL. Consider the following example:

Zowghi, D. and C. Coulin (2005), "Requirements Elicitation: A Survey of Techniques, Approaches, and Tools," In Engineering and Managing Software Requirements, A. Aurum and C. Wohlin, Eds., Springer, Berlin, Germany, pp. 19-46. https://0-link-springer-com.aupac.lib.athabascau.ca/chapter/10.1007/3-540-28244-0_2

You will next be asked for your AU login information, and when you have successfully logged on, you will be given access to the article.

Searching for and using peer-reviewed research papers is a basic skill that everyone must learn in order to effectively carry out their own research. This course requires you to exercise this skill by first referring you to a number of articles from journals, conference proceedings, and books to give you an idea of the relevant literature in certain areas of software engineering. You will also learn to distinguish between peer-reviewed publications (that tend to have an objective approach), and company publications, popular software engineering articles, personal blogs, and company news sites, which are usually not peer-reviewed, and may be biased. This course strongly favours the use of peer-reviewed papers, as they provide an objective evaluation of the relevant concepts and issues in software engineering.

To conduct your own literature searches, access the relevant journals listed in the Study Guide in the manner listed above, using the AU Library proxy. Each publisher or journal website will allow you to browse or search their online resources. Some of the most useful publications are listed under the "Relevant Conferences/Publications" and "Unit Activities" of the Study Guide. A "Useful Links" resource is also provided, which lists all of these web sites in one place. To search for articles through the AU Library, select "Databases" from the sidebar, then "Databases by Subject", and "Computer Science". Here you will find links to aggregated databases, and links to searchable indexes on various publishers' websites.

Another very important component of the course is to independently review the literature on a particular topic. Literature review is a fundamental part of any research in software engineering, and you will not be able to complete a master's thesis or an essay if you have not learned this skill. For any topic of interest (and especially any topic you present in an assignment), you should familiarize yourself with the main concepts in the Required Readings, explore the Supplemental Reading list, and then undertake your own literature review. Writing a literature review paper (Assignment 2) will help you to better understand a certain area of software engineering, and will allow you to share your understanding with your peers, who will review your paper. Literature review is also an essential part of identifying the current research challenges, which can help you define your own project topics. Understanding the work of others also prevents you from repeating the same work, and it adds credibility to your own research. Thus, the better your literature review (Assignment 2), the stronger your project (Assignment 4) will be; however, in both the literature review and the project, you must demonstrate a strong understanding of all other topics introduced in the course.

Once you have completed this course, you should be familiar with the state of the art and the main research challenges in a number of selected topics in software engineering. Applying the knowledge and research skills you have gained to solving practical problems and addressing various research challenges in software engineering, will guide you to successfully completing the MSc IS program. Moreover, the knowledge and skills gained in this course can be applied to everyday software engineering practice by adding a novel and more innovative approach, which is the key to success.

Updated November 24 2022 by FST Course Production Staff