Uppsala University
Department of Information Technology
SE Spring 2013
Software Engineering Spring 2013
Table of contents:
0.
News
1.
Formalities
2.
Material
3.
Schedule
4.
Assignments, exams, grades
0. News
- The guest lectures by Lars-Henrik Eriksson and Lennart Beckman
have unfortunately been cancelled. I will give a short summary
of those lectures on 13/3.
1. Formalities
1.1 Lecturer
1.2 This course
Code |
Swedish name |
Credits |
English name
|
1DL250 |
Programvaruteknik |
5 |
Software Engineering
|
The course will be given in English.
1.3 Admission and registration
All admitted students register through
Studentportalen.
For re-registrations: contact the IT-office.
Students who are not admitted yet should apply through the
National admission website,
except
- Masters students: apply through their student counsellor
- Exchange students - contact Ulrika Jaresund.
If you want to unregister, please do so within 3 weeks of the course
start; contact the IT-office.
2. Material
2.1 Literature
The main course book is Software Engineering,
9th edition, by
Ian Sommerville.
The 9th edition is an improvement over the 7th/8th edition. If you
insist on using the 7th or 8th edition (these editions are
identical, except that the 8th edition includes some new chapters
not treated in the course), reading instructions are
here.
Buy the book now and start reading in time!
The book consists of for parts:
- Introduction to SE - mostly covered (except 1.3, 5.5, 7)
- Dependability and Security - dependability is mostly covered;
a guest lecture covers security
- Advanced SE - mostly not covered
- we briefly look at some items on reuse and distributed
architecture
- Software Management - mostly covered (not details in 23.5!)
2.2. Links
- I have been asked in course evaluations to provide a real-life
example of a requirements specification. I found the following specification ; notes
- It's 151 pages - browse it, don't waste paper on it
- It does not exactly follow our template - there are many
such templates around
- The source is OPF.
- I'm not sure that it's actually real-life (in the sence that
it was meant to be implemented), but it could be.
- Sommerville's
blog
3. Schedule
The schedule consists of lectures (L), guest lectures (G) and exams
(E)
3.1. Lectures and ...
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.
There are 4 guest lectures and a seminar. 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.2. Time and place
All lectures etc. start at 15 minutes past the hour. The exams start
on the hour.
(L = lecture, G = guest lecture, S = seminar, E = Exam)
Reading: "x-in." means the introduction to Chapter/Section x, before
Section/subsection x.1 starts.
Type |
Day |
Time |
Room |
Subject |
Chapters (9th)
|
Important
sections (9th)
|
week 4
|
L |
22/1 |
8
|
1311
|
Introduction: schedule, assignment, etc.
Software processes
|
1.1, 1.2, 2.1, 2.2.3,
2.3.3
|
2.1.1, 2.1.2, 2.2.3 slides
|
L |
23/1
|
15
|
1311
|
Requirements, Buy and/or build?,
Requirements Engineering |
2.2.1, 4, 10.3
|
2.2.1, 4-in, 4.1, 4.2,
4.3-in, 4.3.1,
10.3, 4.5, 4.6, 4.7 slides |
L |
25/1
|
13
|
1311
|
Models and Prototypes,
Incremental and Iterative,
Agile
|
5, 2.3, 3
|
5-in, 5.2, 5.4, 2.3.1
2.3.2
3.1, 3.2 slides |
week 5 |
G
|
28/1
|
10
|
1211
|
Mikael Lundgren (Levla)
Agile and Scrum
|
3
|
3.1, 3.4 notes
|
L
|
29/1
|
15
|
1311
|
Design, Reuse |
2.1.3, 2.2.2, 6, 18, 16, 17 |
2.1.3, 2.2.2, 6-in, 6.3,
18-in, 18.2, 18.3.2, 18.3.3, 16-in, 17.2 slides
|
L |
30/1
|
8
|
1311
|
Validation and Verification:
inspections and testing |
2.2.3, 4.6, 24.3, 8, 15.2 |
2.2.3, 24.3, 8-in, 8.1.4,
8.2, 8.3.1, 15.2 slides |
week
6 |
L
|
4/2
|
13
|
1311
|
Dependable Systems
|
10-in, 10.1, 10.5.1, 11, 12,
13
|
10.5.1, 11-in, 11.1, 11.3,
12-in, 12.1, 12.2, 12.3, 13.2, 13.4 slides
|
L
|
7/2
|
10
|
1311
|
Defect Testing
mid-course evaluation (see below) |
8
|
summary,
slides 8.1.1-8.1.3 |
L
|
8/2
|
13
|
1311
|
Project Planning,
Software Cost,
Management |
22, 23 |
22-in, 22.1, 23.2,
23.3,
23.5-in, 23.5.1
22.3 slides |
week
7 |
L
|
13/2
|
10
|
1311
|
Maintenance, Evolution,
Legacy systems, Config. management |
9, 25 |
9.3-in, 9.3.2, 9.4, 25.3, slides |
L
|
14/2
|
15
|
1311
|
Quality Assurance
Process Improvement
Combined processes
|
24
26
Cleanroom,
2.4, 3.3 |
24-in, 24.1, 24.4
26-in, 26.4, 26.5
Cleanroom,
2.4, Fig.3.4
slides |
week
9
Reminder: sign up for the exam! |
S
|
27/2
|
13-16
|
2446
|
Case study (A War Story)
In Swedish (DV, IT, ...) |
|
|
1/3
|
9-12
|
2214
|
Case study (A
War Story) In English (Master, ...) |
|
|
week
9
or 10
|
G
|
to be
decided
|
Lars-Henrik Eriksson
(UU, Nya Industrilogik): Industrial Applications of
Formal Methods
|
12.5, 15.1, 15.4, 15.5-in
|
15.1, slides |
week
10 |
G
|
4/3
|
10
|
1211
|
Holger Karlsson and Johannes
Borgehammar (Accenture) |
22 |
22.3, slides (in Student Portal) |
G
|
6/3
|
15
|
1311
|
Lennart Beckman (Europoint)
Development of secure systems |
11.4, 12.4, 14, 15.3
(2.4) |
11.4, 14.1, 14.2.3, slides |
week
11 |
L
|
13/3
|
10
|
1311
|
Questions, old exams
|
|
|
Exams |
E |
15/3
|
8-13
|
PB 5
|
Exam
|
|
|
E
|
10/6
|
8-13
|
PB 5
|
Exam
|
|
|
E
|
24/8
|
|
PB 5
|
Exam
|
|
|
The mid-course evaluation is an evaluation of the course (right
speed, interesting?) - it is not a test!
3.3 Guest lectures
Mikael Lundgren is a DV alumni, Mikael has
worked as a software developer, project manager, Scrum Master and
development manager. Today he is a consultant at Levla, helping software companies
improve their work using Lean and Agile development frameworks.
Mikael became a Certified Scrum Trainer in 2006, out of 50
worldwide.
- Lean and Agile - an overview and history
- How does Agile Software Development work? Why does it
work?
- Scrum, the roles in Scrum, why Scrum is different
- Scrum projects vs traditional projects
- Continuous learning and improvements
Lennart
Beckman from Europoint Networking is an expert on the development
of secure systems.
The focus is on the processes
required to make a system secure and how to avoid common mistakes
(for the technology, sign up for the courses Secure computer
systems I and II and Cryptology).
Formal methods are presented by
Lars-Henrik Eriksson, currently
a lecturer at UU. Lars-Henrik has industrial experience of the
application of formal methods, mostly in railway signalling systems.
He works part-time at the company
Nya
Industrilogik. He also teaches the course Provably correct
software.
Accenture will be represented by
Holger Karlsson (IT
alumni)
and
Johannes Borgehammar (STS alumi)
. As
a consultancy company, Accenture can apply many different
development models, both traditional and agile, depending on the
needs of the customer. One of the key successes of Accenture is
their successful application of offshoring.
3.4 Seminar: A War Story (Case Study)
This is a
case study (story) in 4 parts.
Part one of the story will be distributed on February 14. Make sure
that you have
read it (*), and
bring it!
The rest of the story will be handed out in episodes (2-3 pages)
during class.
We will put ourselves in the position of the project manager
("you"), and discuss "your" options/choices. Apart from the
questions at the end of each part, consider:
- What additional information would you want to have?
- What are the risks? Separate high risks from lesser risks.
- What would you do next?
(*) Clarification of a detail in the text: "your" whole group is
joining this project: 20 programmers, 2 first-level managers, a
secretary and a typist.
4. Assignment, exams, grades
4.1 Assignment
This assignment is done individually. The goal is to learn to search
for literature and summarize it in a way that a researcher would do
for later reference. I use the progress function in Studentportalen
to keep track of the
three steps of the assignment.
- Choose a topic in Software Engineering that you would like to
know more about.
- Find an article (suggested 10-15 pages) on this topic.
The article can be a paper directed to industry (for example,
the longer papers in IEEE Software) or a purely scientific paper
(as in IEEE Transactions on Software Engineering).
Note: these two journals are only examples - there is
much more out there. A combination of shorter articles may also
be acceptable. Preferably the article should be quite recent
(not older than 5 years), although there are some older classics
that are still highly relevant. Use our Library
Resources. Sommerville's
blog may contain useful suggested reading.
- When you have selected the article, send me by email title,
journal, and a link. This should be done no later than
February 13. I will reply as quickly as possible to
confirm and approve your choice.
- Write a report on the article. The report must
summarize the material (in no more than 2 pages), and also
include your own judgement and ideas. What are the authors
main points? Do you agree?
Deadline: March 13. Hand in through Studentportalen.
Basic rules for written material apply: write your name, write
proper references (possibly just one), mark quotations by
citations marks, don't quote whole paragraphs.
- Give feedback on another student's summary. The goal
is to check the language, understandability and that it's useful
as a summary (the goal is not to check that the summary
is correct - you don't need to read the original article). Deadline:
March 21. Feedback form (.docx, writeable .pdf)
Hand in through Studentportalen and
preferably send an email to the other student too.
4.2 Exam and Grading
- Assignment is graded pass/fail(=redo)
- Exam The exam has 60 points. The weight of each
question will be on the exam. The exam covers the book (not
everything - as indicated by the reading instructions).
You can receive the grades 3, 4 or 5 on the exam - the course grade
is the exam grade.
|
max points
|
3
|
4
|
5
|
exam
|
60
|
33
|
39
|
45
|
These boundaries are
preliminary and indicative.
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, or
guest lectures that are no longer given. Some new material is
included now, about which there are no questions in older exams. I
can comment details in the final lecture.