Software Engineering Spring 2005


Table of contents:

0. News
1. Teaching staff
2. Course start
3. Schedule
4. Assignments, exams, grades

0. News

  • The exam is corrected (finally! - I sincerely apologize for the long delay). The status of the exam and assignments is now available.
  • 15/3 Slides (pdf, 1.7 MB)from the Prevas lecture (actually, more slides than shown in the lecture).
  • 17/2: assignment 3 and sample exams added.
  • 15/2: assignment 2 added - sorry to be late again!
  • 9/2: updated plan and reading instructions for week 8-9.
  • 4/2: summary of todays lecture on testing added. This material is part of the exam, and not well covered by Sommerville.
  • 28/1: Exchanged the two lectures in week 6 (to fit the guest lecturer).
  • Course evaluation scheduled.
  • List of groups (with emails).
  • Assignment 1 added.

1. Teaching staff


Name  E-mail  Room  Phone  Mailbox
(4th floor, building 1) 
Lecturer  Roland Bol Roland.Bol@it.uu.se 1356  018-471 7606  28 
Assistant  Anders Hessel  Anders.Hessel@it.uu.se 1436
018-471 6201
2

2. Course start

2.1 What course? 

Code  Swedish name  Points  English name
ECTS credits
2AD517  Programvaruteknik MN1  Software Engineering
7.5

2.2. Registration

Students who have been accepted (antagen) to the course and exchange students will be registered at the first lecture.
It is also possible to register through Studentportalen.

2.3. Language

The course will be given in English. Assignments may be handed in in English or Swedish.

2.4. Literature

The main course book is Software Engineering, 7th edition, by Ian Sommerville.
The 6th edition can also be used (check from the 7th ed. sections: 4.4, 12.4, 13, 17, 19, 24.4, 28.6) Reading instructions will be available for both editions.

Buy the book now and start reading in time!


3. Schedule

The schedule consists of lectures (L), guest lectures (G) and exams (E).

3.1.  Course lay-out and speed

The course is taught in close cooperation with another course: Methods of Programming 2. In short, Software Engineering will be responsible for requirements engineering and quality assurance through code review, system level test planning and testing. Methods of Programming 2 will be responsible for implementation, readable code, debugging, module testing and documentation.

The SE assignments are done in pairs. MP assignments are made in groups of three. One or two SE teams work together with one MP team. Because of the combination of the courses, it is extremely important that you keep the deadlines. Making a plan and following it is an important part of what Software Engineering is about.
  • 60-75% of the course is taught in period 3 (in average you should spend 12-15 hours per week on it). This includes the whole theory part, including the exam.
  • 25-40% of the course belongs to period 4 (in average you should spend 5-8 hours per week on it).
  • The figures are reversed for Methods of Programming 2: if you take both courses, you should spend around 20 hours per week.
A combined overview schedule for both courses, showing their integration, is here

3.2. Lectures

The purpose of the lectures is to summarize, clarify and complement the literature, and to highlight the important points. They follow the book rather closely, though not exactly in the same order. The detailed schedule below lists the chapters in the book that are related to each lecture. Attendence is of course recommended, but not obligatory.  

Some lectures are joint lectures with Methods of Programming 2. There are also a few guest lectures. The guests come from the university and industry. The topics are current research and industrial practices in software engineering. The purpose is to put the course material in a wider perspective, and to complement the views of the lecturer with others' views.

3.3. Time and place

All lectures etc. start at 15 minutes past the hour. The exams start on the hour.
(L = lecture, JL = joint lecture with Methods of Programming 2, G = guest lecture, S = seminar, E = Exam)
Joint lectures are in room 1111, other lectures in 1113 (except on March 8). The time and location of the exam will be known later.
 
Type  Day  Time  Subject  Chapters (6th) Important sections (6th) Chapters (7th)
Important sections (7th)
week 3
JL 19/1  10 RB+MP: Introduction; schedule, assignments, waterfall- and V-model, good code  1, 3.1.1, 3.3-3.7 3.1.1, 3.5 1, 4.1.1, 4.3, 4.5
4.1.1, 4.3.3
L 20/1  8 Requirements, Requirements Engineering  2.5, 3.3,
5, 6
2.5, 3.3, 5-in, 5.1, 5.2, 5.3-in, 5.4, 6-in, 6.2, 6.4 2.3, 4.3.1, 6, 7
2.3, 4.3.1, 6-in, 6.1, 6.2, 6.3-in, 6.5, 7.2, 7.4
JL 20/1
15
MP: Standards for code and documentation
24.1.1, 18.1, 18.2, 29
24.1.1, 29-in, 29.5
27.2,  20.2, 29
27.2, 29-in, 29.5
JL 21/1
10
MP: Ray tracing and XML - intro
necessary domain knowledge
13.4
13.4
week 4
JL 25/1
13
Validation and Verification: inspections and testing
3.5, 6.3, 19, 20
3.5, 6.3, 19-in, 19.2, 20-in, 20.2, 20.4
4.3.3, 7.3, 22, 23
4.3.3, 7.3, 22-in, 22.2, 23-in, 23.1, 23.3.1, 23.4
L 26/1
15
Iterative processes,
Models and Prototypes
3.1, 3.2
7, 8 
3.1.2, 3.2.1, 7.2, 7.3, 7.4.3, 8-in, 8.1
4.1, 4.2, 4.4, 8, 17
4.1.2., 4.2.1, 8.2, 8.3, 8.4.3, 17-in, 17.4
week 5


L 1/2
13
Design, Reuse
3.4, 10, 11, 14 
3.4-in, 10-in, 10.1, 10.2, 11-in, 11.2, 14-in, 14.1 
4.3.2, 11, 12, 13, 18, 19
4.3.2, 11-in, 11.2, 11.4, 12-in, 12.2, 18-in, 19.2
JL 4/2
10
Defect Testing 
20.1
20.1, summary
23
23.3.2-23.3.4, summary
week 6


G/L  7/2  15 Lars-Henrik Eriksson: Industrial Applications of Formal Methods 

Formal methods 9 , 21.1 9-in, 9.1  10, 22.4-in
10-in, 10.1
L
9/2
13
Project Planning, Quality Assurance
Mid-course evaluation
4, 24
4.2-4.4, 24-in, 24.1.2, 24.4
5, 27
5.2-5.4, 27-in, 27.1, 27.5
week 7


L 15/2
8
Dependable Systems
16 - 18
16-in, 16.3, 17 (except 17.3), 18-in, 18.1 
3, 9, 20
3-in, 3.2, 3.4, 9 (except 9.3), 20-in, 20.1
week 8


L 22/2  13 Software Cost,
Maintenance, Evolution,
Legacy systems
23,
26 - 29
23-in, 23.2, 23.3-in,
27-in, 27.2,
26-in, 26.3-in.
26,
21, 29
2.4
26-in, 26.2, 26.3-in,
21.2
2.4, 21.4
week 9

L 1/3 13 Management, Process Improvement

Combined processes
22, 25

19.4, new material
22.2.4, 22.3.1, 25-in, 25.4, 25.5
19.4, new material
25, 28

22.4.1, 4.4, 17.2
25.3.4, 25.3.5, 28-in, 28.2, 28.5, 28.6
22.4.1, 4.4, 17.2
G
2/3  10  Ola Jirlow (Prevas): Planning, Management, Quality. Slides (pdf 1.7 MB).


JL 4/3
10
Scripting languages: how to write test scripts
Last day to sign up for exam!
week 10


8/3  13
Case study (A War Story) Note: room 1245


L
11/3
10
Questions, old exams
Main course evaluation


week 11 

18/3  15-20
Exam, Polacksbacken bldg 5



15/4

deadline assignment 3A - includes complementary course evaluation


E
15/6
9-14
Exam, Polacksbacken bldg 5


E
16/8
8-13
Exam, Polacksbacken bldg 5


"x-in." means the introduction to Chapter/Section x, before Section/subsection x.1 starts.

6th. ed.: Chapters 12, 13, 15 are not covered at all in this course.
7th ed.: Chapters 14, 15, 16 are not covered at all in this course.

3.4 Seminar: A War Story (Case Study)

Part one of the story will be distributed on March 2. Make sure that you have read it (*), and bring it!
The rest of the story will be handed out in episodes.

Apart from the questions at the end of each part, consider:

  1. What additional information would you want to have?
  2. What are the risks? Separate high risks from lesser risks.
  3. What would you do next?
(*) Clarification: your whole group is joining this project: 20 programmers, 2 first-level managers, a secretary and a typist.

4. Assignments, exams, grades

4.1 Overview of estimated time spent, and grading

The grade will be determined by the total points score from the exam and the assignments. That is, the exam will not be given a grade by itself.
 
Item hours per student grade points 
Lectures, exam and reading time  80
60 
Assignment 1: Requirements 20
14
Assignment 2A: First test spec 20
12
Assignment 2B: First test report
20
2
Assignment 2C: First code review
10
2
Assignment 3A: Extended test spec
20
6
Assignment 3B: Second test report
20
2
Assignment 3C: Second code review
10
2
Required for G (estimate - can be changed) 55 of 100 
Required for VG (estimate - can be changed) 75 of 100 

The limits for G/VG are estimates and can be adjusted - it is the first time the course is taught in this way.

4.2 Assignments

  • Assignment 1. Start: 24/1. Deadline 4/2 at 17:00. Rework deadline 18/2.
  • Assignment 2.
    • Part A. Start 14/2. Deadline 25/2 at 17:00. Rework deadline 11/3.
    • Part B+C. Start 11/3. Deadline 29/3 at 17:00. No rework.
  • Assignment 3.
    • Part A. Start 4/4. Deadline 15/4 at 17:00. No rework.
    • Part B+C. Start 25/4. Deadline 9/5 at 17:00. No rework.
Completed assignments should be put into Anders's mailbox (floor 4, number 2) before the deadline. Graded assignments will be returned on the shelf outside room 1346. If you have questions, you can send e-mail or see if Anders is in his office (1436).

4.3 Grading

  • Assignments Details follow with the assignments.
  • Exam The exam counts for 60 points. The weight of each question will be on the exam. The exam covers the book (except the chapters listed above), and Bengt Jonsson's handouts .

4.4 Some sample exams

Note that the contents of the course have changed over the years: some questions refer to material that is no longer included, and some new material is included about which there are no questions in older exams. I can comment details in the final lecture. For fairness, I have only included exams that are in English.

roland.bol@it.uu.se

Roland Bol