Uppsala University Department of Information Technology

Software Engineering Spring 2006



Table of contents:

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

0. News


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)

Buy the book now and start reading in time!

2.5. Links


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 groups of three. MP assignments are also done in groups of three. 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.
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 Lessons

During two one-hour lessons, the course assistant will explain in detail what you are expected to do in the assignments.

3.4. 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, l = lesson, G = guest lecture, S = seminar, E = Exam)
 
Type  Day  Time  Room Subject  Chapters (6th) Important sections (6th) Chapters (7/8th)
Important sections (7/8th)
week 3
JL 20/1  13 1111
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
week 4
L 23/1  13
1311
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 25/1
10
1311
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
l
26/1
9
1311
AH: requirements engineering assignment

JL 27/1
13
2247
MP: Ray tracing and XML - intro
necessary domain knowledge
13.4
13.4
week 5
JL 30/1
13
1311
RB: 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 2/2
10
2247
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 6


JL 9/2
13
1311
RB: Defect Testing 
20.1
20.1, summary
23
23.3.2-23.3.4, summary
week 7


L
13/2
8
1211
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
15/2  13 1211 Lars-Henrik Eriksson: Industrial Applications of Formal Methods 

L
Formal methods 9 , 21.1 9-in, 9.1  10, 22.4-in
10-in, 10.1
l
16/2
13
1111
AH: testing assignments

L
17/2
15
1211
Dependable Systems
Mid-course evaluation
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 10


L 6/3  15 1211
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
lic.sem.
7/3
13
1311
AH: Model-based Test-Case Selection and Generation for Real-Time Systems abstract
JL
9/3
10
1311
MP: Scripting languages: how to write test scripts

week 12
L
23/3
10
1311
Project Planning, Quality Assurance
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 13
L 27/3 10 1311
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
week 14
G
3/4  13  1311
Mikael Lundgren (Citerus) SE in practice - introducing Agile methods


7/4
10
1311
Case study (A War Story)


week 16
L
20/4
10
1211
Questions, old exams
Main course evaluation


21/4  9:00- 14:00
5
Exam Polacksbacken, bldg 5.


E
8/6

5
Exam Polacksbacken, bldg 5.


E
21/8
9:00-14:00
5
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 27. 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

Assignments are made in pairs. Each pair will work with a team from the MP2 course.

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  start
deadline
Lectures, exam and reading time  80
60 

Assignment 1: Requirements 20
14
27/1
10/2 at 17:00
Assignment 2A: First test spec 20
12
16/2
3/3 at 17:00
Assignment 2B: First test report
20
2
13/3
31/3 at 17:00 (1)
Assignment 2C: First code review
10
2
13/3
31/3 at 17:00 (1)
Assignment 3A: Extended test spec
20
6
31/3
7/4 at 17:00
Assignment 3B: Second test report
20
2
24/4
12/5 at 17:00 (2)
Assignment 3C: Second code review
10
2
24/4
12/5 at 17:00 (2)

(1) This is the deadline for the reports. We suggest that you schedule the code review meeting and run the tests in week 11 or 12. The MP2 students should have a fair chance to correct the errors and deviations that you may find.
(2) This is the deadline for the reports. We suggest that you schedule the code review meeting and run the tests in week 17 or 18. The MP2 students should have a fair chance to correct the errors and deviations that you may find.

4.2 Assignments

The links below don't work yet - we check if we need to reformulate something.
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

You can receive the grades pass (G) and pass with distinction (VG) on both the assignments and the exam in isolation, and on the course as a whole.
To pass, you can compensate low points on the exam by high points on the assignments, or vice versa.

max points
G
VG
exam (3p - 4.5 ECTS)
60
33 or sum >= 55
45
assignments (2p - 3ECTS)
40
22 or sum >= 55
30
course (sum)
100
55
75

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




















Uppsala Universitet