Skip to Content

Department of Computing

ITEC825: Software Engineering for Critical Systems

Semester 2, 2010

Faculty: Science; Department: Computing

General Information

Credit points: 4

Convenor: Ukachukwu Ndukwu

This is the home page for ITEC825. Students should read this unit outline carefully at the start of semester. It contains important information about the unit. If anything in it is unclear, please consult the unit convenor and lecturer.

About This Unit

The core components of this unit will focus on equipping students with standards-based skills in analytical tools, architectural design, and the organisational and human-factors that play important roles in safety-critical systems design and development. Students will investigate the key dimensions of critical systems dependability, as well as engineering tools and processes for high-integrity development of large-scale software systems. The unit also emphasises on techniques for testing, verification and validation as well as the entire project management lifecycle of critical systems development. Finally students will apply their acquired knowledge on practical components of case study works based on formal techniques in software engineering for safety-critical systems.

Teaching Staff

Role Name Email Room Office hours
Convenor, Lecturer Ukachukwu Ndukwu ukachukwu.ndukwu@mq.edu.au E6A349 By appointment

Teaching and Learning

Classes

Each week you should attend two hours of lectures, a one hour tutorial and a one hour practical. For details of days, times and rooms consult the timetables webpage.

Note that tutorials and practicals commence in week 2.

Please note that you are required to attend lectures and tutorials. Failure to do so may result in you failing the unit (see the precise requirements) or being excluded from the exam (see the rule).

Recommended Texts

  • Ian Sommerville: software engineering: Eight edition; Addison Wesley, 2006. ISBN-13: 978-0321313799.
  • Neil Storey: safety-critical computer systems. First  edition, Addison Wesley, 1996. ISBN-10: 0201427877.
  • Lecture notes: this will include lecture presentations and white papers relating to topics of discourse.
  • Additional materials suggested by the instructor.

Staff-student Liaison Committee

The Department has established a Staff-Student Liaison Committee at each level to provide all students studying a Computing unit the opportunity to discuss related issues or problems with both students and staff. For each meeting, an agenda is issued and minutes are taken. These are posted on the web at: http://www.comp.mq.edu.au/units/800-liaison. Details of the regular meeting dates will be posted on the unit home page. Anyone with an interest in Computing units may attend. This includes staff involved in the teaching and administration of the units, and all students currently taking a Computing unit at that level. There are formal Liaison Committee representatives for each unit who attend to present the views of the student body; all students are welcome and are encouraged to attend.

The meetings are usually held in the Department of Computing Meeting Room, E6A357. To forward agenda items or get in touch with your representative, send an email to rshankar@science.mq.edu.au. If you have exhausted all other avenues, then you should consult the Director of Teaching (Dr Christophe Doche) or the Head of Department (Prof. Bernard Mans). You are entitled to have your concerns raised, discussed and resolved.

Student Support Services

Macquarie University provides a range of Academic Student Support Services. Details of these services can accessed at http://www.student.mq.edu.au.

Assumed Knowledge

This unit  assumes some background knowledge in programming and therefore the  underlying programming related concepts will not be taught as such. Students are also expected to have a general idea of how computer systems work.

Topic List

The table below represents a tentative list of topics for this unit. It is the student's responsibility to regularly check the unit homepage and the Blackboard/WebCT for additional reading materials to be posted by noon of each Monday of a lecture week.
 

Week Topic Reading
1 Introduction to software engineering and safety-critical systems Chapters 1 and 2 of the text by I. Sommerville and chapter 1 of the text by N.Storey. Additional reading material has been posted on Blackboard/WebCT.
2 Introduction to formal methods and their application to safety-critical systems development Chapter 11 of the text by N. Storey. Additional reading material has been posted on Blackboard/WebCT.
3 Hazards and safety-critical systems Chapter 3 of the text by N. Storey.
4 Risk analysis and management for safety-critical Systems Chapter 4 of the text by N. Storey.
5 Developing safety-critical systems Chapter 5 of the text by N. Storey. Additional reading material has been posted on Blackboard/WebCT.
6 Fault tolerance and reliability in safety-critical systems design Chapters 6 and 7 of the text by N. Storey.
7 Individual project presentation Date: Wednesday, 29th September 2010; Time: 6pm; Location: E6A127.
  Recess  
8 Safety-critical systems project planning Chapter  23 of the text by I. Sommerville
9 Developing safety-critical software Chapter 9 of the text by N. Storey
10 Compliance/Verification/validation/testing of safety critical systems, Quality Assurance and Product Certification Chapters 8 and 15 (part one only)  of the text by I. Sommerville
11 Managing safety-critical software projects We'll continue with the slides from week 10. Week 11 lecture materials will now be covered in week 12.
12 Emerging technologies; Examination guide, hints and tips Chapter 22 of the text by I. Sommerville
13 Final group project presentation TBA

Teaching and Learning Strategy

This unit will be delivered on campus in a traditional lecture mode. Each delivery consists of a minimum of 2 hours and a maximum of 3 hours of lectures. This implies a maximum of 2 hours of combined sessions of tutorials and practicals. Unit materials (lecture slides, tutorial problems and solutions, practical tasks and assessments) will be posted on Blackboard/WebCT accordingly.

Lectures are used to introduce new material, give examples of the use of programming methods and techniques and put them in a wider context. Furthermore, to reinforce the nexus between teaching, research, and learning, a research topic will be discussed every week during the lectures. This additional material will not be assessed as such but may prove useful to complete the assignments.

You learn by processing concepts, not just by hearing them. Tutorial and practical sessions are small groups of classes in the laboratories which give you the opportunity to do exactly that by interacting with a tutor who has a sound knowledge of the subject and with your peers. This also gives you a chance to practice your programming skills.

You have many opportunities to seek for and to receive feedback. During lectures, you are encouraged to ask the lecturer questions to clarify anything you might not be sure of. Each week, you will be given problems to solve in the tutorial and practical classes and you will have to present solutions to the tutor. The comments and the solutions provided will help you to understand the material in the unit, prepare you for the work in assignments as well as for the final exam. It is important that you keep up with these problems every week. Assignments have been especially designed to deliver continuous feedback on your work.

Each week you should:

  • Attend lectures, take notes, ask questions
  • Attend your tutorial and/or practical classes and seek feedback from your tutor on your work
  • Read assigned reading material, add to your notes and prepare questions for your lecturer or tutor
  • Start working on any assignments immediately after they have been released.

Learning Outcomes

On completion of the unit, students should be able to:

  • Demonstrate a clear understanding of the techniques and principles applicable to the design and development of large-scale safety-critical software systems.
  • Apply their knowledge of the principles and applications of requirements engineering in the design, implementation, testing and validation of fault-tolerant safety-critical software systems.
  • Analyse impending risks associated with a particular safety-critical systems design, and provide a detailed evaluation of the costs, quality management (centered on human and material resources), as well as ethical issues associated with its deployment.
  • Independently, and as members of a group, embark on a software delivery project for safety-critical systems.

Capabilities Developed

All academic programs at Macquarie University seek to develop a range of postgraduate capabilities. One of the aims of this unit is that students develop their skills in the following areas:

  • Discipline Specific Knowledge and skills
  • Effective Communication
  • Problem Solving and Research Capability
  • Creativity and Innovativity
  • Commitment to Continuous Learning

Assessment

Tutorial Exercises

There will be a set of tutorial exercises for each week after delivery of lectures. Some of the exercises will be asterisked. Students are to submit solutions (as hard copies) of the asterisked exercises before the start of a tutorial session in the immediate week to follow. Participation in tutorials will be rewarded with additional marks. Note that late submissions will not be accepted except due to illness or other misadventure. Work commitments are not considered misadventure. If your submission is affected by illness or misadventure, please contact the lecturer and unit convenor before the due date and submit your solution nevertheless. However if an extension is granted, you will be required to submit a revised version of your work by a new due date set by the lecturer and unit convenor.

Assignments

There will be two assignment tasks: an individual assignment task, and a group assignment task. Each assignment task, apart from having weighted components, will evaluate the core learning objectives of the unit.

Final Examination

The final examination is a 3-hour closed book exercise and will cover all learning outcomes. Please note the following:

  • You must attend all required classes and submit all required assessment tasks, otherwise the Executive Dean of the Faculty or delegated authority has the power to refuse permission to attend the final examination.
  • The University examination period for the second-half Year 2010 is from Wednesday 17th November to Friday 3rd December 2010.
  • You are expected to present yourself for examination at the time and place designated in the  University Examination Timetable.
  • No early examinations for individuals or groups of students will be set. All students are expected to ensure that they are available until the end of the teaching semester, that is the final day of the official examination period.
  • The only exception to not sitting an examination at the designated time is because of documented illness or unavoidable disruption. In these circumstances you may wish to consider applying for Special Consideration.

Assessment overview

Assessment item Due date Weight
Tutorial exercises At the start of tutorials: week 2 - 13 10%
Assignment 1 Week 7 20%
Assignment 2 Week 13 20%
Final Examination TBA 50%
  Total: 100%

Assessment Criteria

Students should note that each assessment item will be graded based on the following criteria:

  • Clarity: This implies writing clearly and logically in a manner that makes it easy for a non-domain expert to understand. This skill will also come in handy during the individual and group projects documentation.
  • Accuracy and precision: An accurate answer in this context is one that pertains to the question being addressed. It could be made more ‘punchy’ by being just precise. So students are encouraged to write in a fashion that is not vague but rather straight to the point.
  • Depth of understanding: This writing style will be highly rewarded as it shows that a student has a comprehensive understanding of a particular problem domain.

Grading

The grading system will summarise the average performance of a student given the total grade for the assessment tasks. Below is a textual summary of the grading system. Note that students must demonstrate a satisfactory level in each of the assessment items in order to receive a Pass (P) grade for this unit.

  • High Distinction (HD, 85-100): provides consistent evidence of deep and critical understanding in relation to the learning outcomes. There is substantial originality and insight in identifying, generating and communicating competing arguments, perspectives or problem solving approaches; critical evaluation of problems, their solutions and their implications; creativity in application.
  • Distinction (D, 75-84): provides evidence of integration and evaluation of critical ideas, principles and theories, distinctive insight and ability in applying relevant skills and concepts in relation to learning outcomes. There is demonstration of frequent originality in defining and analysing issues or problems and providing solutions; and the use of means of communication appropriate to the discipline and the audience.
  • Credit (Cr, 65-74): provides evidence of learning that goes beyond replication of content knowledge or skills relevant to the learning outcomes. There is demonstration of substantial understanding of fundamental concepts in the field of study and the ability to apply these concepts in a variety of contexts; plus communication of ideas fluently and clearly in terms of the conventions of the discipline.
  • Pass (P, 50-64): provides sufficient evidence of the achievement of learning outcomes. There is demonstration of understanding and application of fundamental concepts of the field of study; and communication of information and ideas adequately in terms of the conventions of the discipline. The learning attainment is considered satisfactory or adequate or competent or capable in relation to the specified outcomes.
  • Conceded Pass (PC, 45-49): provides limited evidence of attainment of learning outcomes. There is demonstration of varying levels of basic knowledge, skills and application in the field of study; and elementary communication in ways that attempt to address the conventions of the discipline. However, the learning attainment does not provide a basis for further progression in a unit for which that unit is a prerequisite.
  • Fail (F, 0-44): does not provide evidence of attainment of all learning outcomes. There is missing or partial or superficial or faulty understanding and application of the fundamental concepts in the field of study; and incomplete, confusing or lacking communication of ideas in ways that give little attention to the conventions of the discipline.

In a case where a student is unsatisfied with his/her grade, the university’s guidelines on grade appeal advices on the necessary steps to be taken.

Special Consideration

Will be granted in a case where a student has provided sufficient reason/evidence as to why he/she cannot partake in any of the unit components. Reasons might be connected with health or disability. In both cases, the student is required to duly inform the unit instructor, and with sufficient evidence on why his/her absence or non participation is unavoidable. The University’s policy on special consideration can be found here.

Plagiarism

Will be cited in a case where there are clear evidences establishing the complete duplication of submissions (of tutorial, assessment and examination tasks). The University’s academic honesty policy is located here.

 

 

Exercitationem

Visi ut aliquid ex

Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur.

Visi ut aliquid ex

Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatu

Et harum quidem rerum facilis est et expedita distinctio.