IV1300 Software Engineering 7.5 credits
Programvaruteknik
The purpose of software engineering is to enable repetitively successful software development, that is software projects where the software is developed according to its specification and within given time and budget boundaries. In a world of increasing complexity and growing demands on flexibility it is necessary to combine software engineering principles with agile methods like test-driven development and customer on site.
Educational level
First cycleAcademic level (A-D)
BSubject area
Techonology
Grade scale
A, B, C, D, E, FX, F
Course offerings
Spring 13 TIDAB, TAFFK for programme students
Periods
Spring 13 P3 (7.5 credits)
Application code
61248Start date
2013 week: 2End date
2013 week: 11Language of instruction
SwedishCampus
KTH KistaNumber of lectures
Number of exercises
Tutoring time
DaytimeForm of study
NormalNumber of places *
Min. 30*) The Course date may be cancelled if number of admitted are less than minimum of places.
Schedule
Schedule (new window)Course responsible
Mira Miroslawa Kajko-Mattsson <mekm2@kth.se>
Teacher
Bengt Koren <bengtk@kth.se>
Mira Miroslawa Kajko-Mattsson <mekm2@kth.se>
Target group
Mandatory to TIDAB2 (DPUB), TAFFK2 but open to all programs
Part of programme
Spring 13 SFI for programme students
Periods
Spring 13 P3 (7.5 credits)
Application code
61328Start date
2013 week: 2End date
2013 week: 11Language of instruction
SwedishCampus
KTH KistaNumber of lectures
Number of exercises
Tutoring time
DaytimeForm of study
NormalNumber of places
No limitationSchedule
Schedule (new window)Course responsible
Mira Miroslawa Kajko-Mattsson <mekm2@kth.se>
Teacher
Mira Miroslawa Kajko-Mattsson <mekm2@kth.se>
Bengt Koren <bengtk@kth.se>
Learning outcomes
The purpose of software engineering is to enable repetitively successful software development, that is software projects where the software is developed according to its specification and within given time and budget boundaries. In a world of increasing complexity and growing demands on flexibility it is necessary to combine software engineering principles with agile methods like test-driven development and customer on site.
Having successfully completed the course, the student should be able to:
* describe the difference between plan-driven and agile processes and motivate the description
* account for what is significant for a software engineering approach to software development and the principles behind it
* account for what is significant for a plan-driven approach to software development and the principles behind it
* account for what is significant for an agile approach to software development and the principles behind it
* describe the agile methods of Scrum and XP
* describe several techniques (both classical software engineering ones and agile ones) for:
o requirements elicitation and requirement management
o resource planning
o risk analysis and risk management
o test planning
o version management
o time and cost estimations
* make judgements about applicability of a these techniques in some known project, possibly combining plan-driven techniques with agile ones
* decide and motivate why some technique is suitable for use in a plan driven software project
* decide and motivate why some technique is suitable for use in an agile software project
* find suitable software engineering methods for his or her work in future projects
* easily adapt to work processes using software engineering techniques
* evaluate projects and analyse what caused successes and failures for use in future projects
Course main content
To successfully plan and lead a non-trivial software project, it is important to possess knowledge of all project activities in a software project. The course focuses on teaching activities such as project planning and management, quality assurance, version management, basic cost and time estimation, basic software metrics, making and analysing requirements specifications and basic validation and verification of software.
After the course, the student will have:
* participated actively in discussions during lectures and seminars
* participated actively in a software project using a combination of plan-driven techniques and agile ones
Disposition
The course is given in parts of lectures and seminars, an exam and a software project.
The goal of the software project is to get practical experience of using software engineering techniques.
Eligibility
Completed upper secondary education including documented proficiency in Swedish corresponding to Swedish B and English corresponding to English A. For students who received/will receive their final school grades after 31 December 2009, there is an additional entry requirement for mathematics as follows: documented proficiency in mathematics corresponding to Mathematics A. And the specific requirements of mathematics, physics and chemistry corresponding to Mathematics D, Physics B and Chemistry A.
Good knowledge in programming
Prerequisites
Good knowledge in programming
Literature
- Ian Sommerville:
Software Engineering, 9
ISBN-10: 0137035152
ISBN-13: 9780137035151Publisher: Addison-WesleyAlistair
-
(Cockburn: Agile Software Development, Addison-Wesley, 0-321-48275-1)
Examination
- PRO1 - Project, 4.5 credits, grade scale: P, F
- TEN1 - Examination, 3.0 credits, grade scale: A, B, C, D, E, FX, F
Offered by
ICT/Software and Computer system
Examiner
Mira Miroslawa Kajko-Mattsson <mekm2@kth.se>
Supplementary information
Older course information, until fall 2010:
http://people.dsv.su.se/~beatrice/IV1300/
Version
Course plan valid from:
Spring 10.
Examination information valid from:
Autumn 07.
