tie-21100 ohjelmistotuotannon menetelmät tie-21106 ... · pdf filetie-21100...

52
TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software Engineering Methodology Kari Systä 2014 2014-01-13 TIE-21100/21106 1

Upload: lamtuong

Post on 23-Mar-2018

226 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

TIE-21100 Ohjelmistotuotannon menetelmät

TIE-21106 Software Engineering Methodology

Kari Systä

2014

2014-01-13 TIE-21100/21106 1

Page 2: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

The staff

• Kari Systä, lectures

• Tero Ahtee, practicalities and bureaucracy, overall coordination, weekly exercises, project

• Marko Leppänen, weekly exercises

• Marie-Elise Kontro, weekly exercises, project

2014-01-13 TIE-21100/21106 2

Page 3: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Lecture 1 - introduction

Course

• Learning goals, requirements, assumed background of students

• Practical arrangements

• Material

• Position of the course in our curriculum

Software engineering

• What is Software engineering anyways?

2014-01-13 TIE-21100/21106 3

Page 4: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Goals of this lecture

• This course

– What to expect

– Am I in right course

– How to pass

• Software Engineering

– What is Software Engineering

2014-01-13 TIE-21100/21106 4

Page 5: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Learning goals

• ROCK/POP – Basic skills needed in software project work in different

roles

• Content – Planning and running of software projects. Effort

estimation and tracking techniques. Quality systems. – Software life-cycle models, their background, benefits

and drawbacks. – Software quality, maintainability, usability, dependable

systems. – Supporting activities: version- and configuration

management, requirements management, product management, documentation

2014-01-13 TIE-21100/21106 5

Page 6: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

This is not a programming course

• But understanding of challenges in programming and basic programming skills are needed

– Our project will make you to do simple programming

• Programming and SW design skills are appreciated, but we have different courses for that.

2014-01-13 TIE-21100/21106 6

Page 7: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Customers, business

Positioning of this course

2014-01-13 TIE-21100/21106 7

Bachelor level Masters level

Intro to SE 21100/

21106 Project work

Page 8: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

A bit of history of this course

2014-01-13 TIE-21100/21106 8

Johdanto (Intro to SE)

21100/ 21106

Project work

Ohjelmistotuo- tannon menetelmät

Software engineering methodology

Software evolution & maintenance

Page 9: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Position in study modules

• Pervasive Computing – Especially for Software Engineering specialization

(4th year)

• Ohjelmistotuotannon menetelmät/ Software Engineering – Compulsory (3rd year)

• Ohjelmistotekniikka/ Software Systems – Complementary course

2014-01-13 TIE-21100/21106 9

Page 10: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

A quick background survey

• Major of your bachelor degree?

– Telecom

– Digital and computer technology

– Electrical engineering

– Management, business or production technologies

– Other

• OtuPK/JOTU fall 2013?

2014-01-13 TIE-21100/21106 10

Page 11: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

A quick background survey

• How many have programmed for salary?

• Who has been member of a programming team of more than 3 persons?

• Who has used version management tools?

– SVN?

– GIT?

– Other?

2014-01-13 TIE-21100/21106 11

Page 12: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Learning goals rephrased i.e. the relevance

• Organization of the SW development – Why important, why difficult?

– Learn to plan and organize

• What (in addition to how) – Make SW that clients and users need and want?

• Quality – What it is and how to achieve?

• Business – How much SW development costs – and why

2014-01-13 TIE-21100/21106 12

Page 13: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Buzz works

Agile, Scrum, Requirements, Waterfall, Quality Systems, COCOMO, CMM, UML, RUP, XP, 2014-01-13 TIE-21100/21106 13

Page 14: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Practical arrangements

• Lectures – Mondays, TB109, 1415 – 1600

– Thursdays, TB103, 1015 – 1200

Most lectures will be on Mondays, Thursdays are used when we have quest lectures

• Weekly exercises – Some practical hand’s on

• Project – A simple SW project to be planned, organized,

executed and reported

2014-01-13 TIE-21100/21106 14

Page 15: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Weekly exercises by Marie-Elise Kontro, Tero Ahtee and Marko Leppänen

• We start from 8 groups, but most probably the least popular will be discontinued

• Times – TUE 10:15 - 12:00 TC131 11 – TUE 12:15 - 14:00 TC131 16 – WED 10:15 - 12:00 TC163 08 – WED 12:15 - 14:00 TC131 15 – WED 14:15 - 16:00 TC128 11 – WED 16:15 - 18:00 TB207 05 – THU 12:15 - 14:00 TC163/TC131 20 – THU 14:15 - 16:00 TC163 13

• Please sign-up if you haven’t already!

2014-01-13 TIE-21100/21106 15

Page 16: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

First weekly exercise

• Read the arcticle: http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html before

• Think about the following questions

• What is ”silver bullet"?

• What makes SW development so difficult – according to article?

• What are the benefits of incremental SW development?

2014-01-13 TIE-21100/21106 16

Page 17: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Project

A simple SW project is – Planned

– Requirements are defined and prioritized

– Executed in 3 or 4 ”sprints”

The work includes effort estimation, tracking and reporting

At the end we will have a seminar where

• Teams represent their project and end result

• Winner(s) is/are selected

2014-01-13 TIE-21100/21106 17

Page 18: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

The staff

• Kari Systä, lectures

• Tero Ahtee, practicalities and bureaucracy, overall coordination, weekly exercises, project

• Marko Leppänen, weekly exercises

• Marie-Elise Kontro, weekly exercises, project

2014-01-13 TIE-21100/21106 18

Page 19: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Passing and grading

• Lectures

– Not compulsory but will be useful for exam

• Exam

– 24 points

• Weekly exercises

– 6 points

• Project

– 6 points

2014-01-13 TIE-21100/21106 19

Page 20: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Initial content of lectures

• Introduction • Life-cycle models, their

background • Project management, product

management, project planning • Scrum in details • Kanban, Customer Development

and DevOps details • Requirement definition,

requirement management, requirements prioritization

• Version management, configuration management, continuous integration

• Architecture issues, role of architect, architectural quality attributes, product families, …. (TIE-21300 will go deeper)

• Testing and quality assurance (TIE-21200 will go deeper)

• “Quality systems” and process improvement

• Embedded and real-time systems (other courses will go deeper)

• Safety-critical and dependable systems

• Effort estimation • Software business, software

start-ups • Recap

2014-01-13 TIE-21100/21106 20

Page 21: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Material

• Slides from lectures

• Haikala, Mikkonen: Ohjelmistotuotannon käytännöt

• Sommerville: Software engineering, Ninth edition

• Links will be collected to the web page.

2014-01-13 TIE-21100/21106 21

Page 22: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Key drivers for redesign of this course • Agile methods are dominant in the industry

– But far too often not understood

• Compared to old times, majority of our students are employed by SME instead of big companies – Nokia

• One key reason for failed SW projects is poor customer – developer discussion

• Internet and Cloud influence everything

• Changes in other courses => this course needs to synchronize with those changes

• International version (TIE-21106) should not be a specific version – We give and demand the same to and from all

2014-01-13 TIE-21100/21106 22

Page 23: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

What is Software Engineering

A few views

2014-01-13 TIE-21100/21106 23

Page 24: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

A few definitions

• ” Software engineering may be defined as the systematic design and development of software products and the management of the software process”

– Mills, H.D. , IBM Systems Journal Vol19 , Issue: 4, 1980

• “Software Engineering is the study and application of engineering to the design, development, and maintenance of software.”

– http://en.wikipedia.org/wiki/Software_engineering

2014-01-13 TIE-21100/21106 24

Page 25: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Ohjelmistokriisi (Software Crisis)

• Term was invented at the first NATO Software Engineering Conference in 1968

• Symptoms (then and still) – Projects running over-budget. – Projects running over-time. – Software was very inefficient. – Software was of low quality. – Software often did not meet requirements. – Projects were unmanageable and code difficult to

maintain. – Software was never delivered.

25 2014-01-13 TIE-21100/21106

Page 26: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

A quote

• “The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.“

-- E. Dijkstra, 1972 Turing Award Lecture

26 2014-01-13 TIE-21100/21106

Page 27: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Three SW crisis • 60-70’s

– Problem: Assembly programming

– Solution: High-level programming languages (Fortran, C, Cobol)

• 80-90’s – Problem: Development and maintenance of complex

programs (millions of lines, many developer)

– Solution: Libraries, object-oriented programming, architecture, testing, review practices

– Solution: Good advanced design; extensive documentation

• 2000-- – Problem: software does not meet real needs of the users

– Solution: Agile methods

27 2014-01-13 TIE-21100/21106

Page 28: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

”Silver bullet”

• “There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.”

• "No Silver Bullet — Essence and Accidents of Software Engineering" is a widely discussed paper on software

engineering written by Fred Brooks in 1986.

2014-01-13 TIE-21100/21106 28

Page 29: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

2014-01-13 29

Need/idea Prestudy

Forget Develop Order project

Tailor

Requirements

Buy

Design

Implement.

Test

Deployment Maintenance Closure

Select suplier

TIE-21100/21106

From needs to software

Page 30: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Problems – for customer point of view

2014-01-13 30

0 5 10 15 20 25 30 35 40 45 50

Changes in company…

No crisis

Problems in inter-personal…

Problems in pricing model

Problems in contracts

Communication problems

Changing personel in…

Quality problems

Disagreement in project…

Buldget does not hold

Timetable does not hold

Lähde: tietotekniikan liiton, ohjelmistoyrittäjien ja Celkee OY:n tutkimus TIE-21100/21106

Page 31: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Problems – provider view

2014-01-13 31

0 5 10 15 20 25

Changes in company structure

Problems in contract

Problems in pricing model

Inter-personal problems

No crisis

Budget does not hold

Quality does not hold

Changes in personel

Timetable does not hold

Disagreement of project content

Communication problems

Lähde: tietotekniikan liiton, ohjelmistoyrittäjien ja Celkee OY:n tutkimus TIE-21100/21106

Page 32: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Some definitions by Sommerville (p.6) • Good software should deliver the required functionality and

performance to the user and should be maintainable, dependable, and usable

• Software engineering is an engineering discipline that is concerned with all aspects of software production

• Fundamentals of software engineering are software specification, software development, software validation, and software evolution

• Computer science focuses on theory and fundamentals; software engineering is concerned with practicalities of developing and delivering useful software

• System engineering is concerned with all aspects of computer-based systems development … software, hardware, ….

• Roughly 60% of the cost are development and 40% about validation. For custom software evolution costs often exceed development cost

2014-01-13 TIE-21100/21106 32

Page 33: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Engineering Ethics

2014-01-13 TIE-21100/21106 33

Page 34: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Engineering Ethics

• Confidentiality

• Competence

• Intellectual Property Rights

• Computer Misuse

2014-01-13 TIE-21100/21106 34

Page 35: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Engineering Code of Ethics and Professional Practice (Version 5.2) the ACM and the IEEE-CS as the standard for

teaching and practicing software engineering.

• See short and long verion at http://www.acm.org/about/se-code

2014-01-13 TIE-21100/21106 35

Page 36: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

• Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:

• 1. PUBLIC - Software engineers shall act consistently with the public interest. • 2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in

the best interests of their client and employer consistent with the public interest.

• 3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.

• 4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.

• 5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

• 6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

• 7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.

• 8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.

2014-01-13 TIE-21100/21106 36

Page 37: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Customer

What is software engineering

Skillful programing

Collaborative game

Lifecycle models

Requirements

Quality assurance

Testing Validation

Algoriths

Data structures

Progr. languages

Architectures

Project mgmt

Developer

2014-01-13 TIE-21100/21106 37

Page 38: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Skillful programming

Collaborative game

Requirements

Quality assurance

Extended view

2014-01-13 TIE-21100/21106 38

Users Money

Developers Operation

Page 39: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

SWEBOK Guide V3.0 Topics http://www.computer.org/portal/web/swebok

• Chapter 1: Software Requirements • Chapter 2: Software Design • Chapter 3: Software Construction • Chapter 4: Software Testing • Chapter 5: Software Maintenance • Chapter 6: Software Configuration Management • Chapter 7: Software Engineering Management • Chapter 8: Software Engineering Process • Chapter 9: Software Engineering Models and Methods • Chapter 10: Software Quality • Chapter 11: Software Engineering Professional Practice • Chapter 12: Software Engineering Economics • Chapter 13: Computing Foundations • Chapter 14: Mathematical Foundations • Chapter 15: Engineering Foundations

2014-01-13 TIE-21100/21106 39

Page 40: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software requirements Key areas • Fundamentals and definition • Requirements Process and management • Requirements Elicitation; sources and techniques • Requirements Analysis • Requirements Specification and documentation • Requirements Validation • Practical Considerations, chance tracing etc • Software Requirements Tools Basics have been covered in introduction course, here we go a bit deeper and concentrate on bold topics Sommerville Chapter 4, Haikala&Mikkone Chapter 3

2014-01-13 TIE-21100/21106 40

Page 41: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software design and construction

• Examples of topics – Languages

– Concurrency

– Data bases

– Architectures

• We have plenty of other courses – not the focus in this course – we assume student to know quite a lot already

• Sommerville Chapters 6 and 7. Haikala & Mikkonen Chapter 14

2014-01-13 TIE-21100/21106 41

Page 42: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Testing Topics • Software Testing Fundamentals • Test Levels, targets and objectives • Test Techniques • Test-Related Measures • Test Process • Software Testing Tools A separate course devoted, but in this course we discuss about process and connection to overall process. Sommerville Chapter 8, Haikala&Mikkonen Chapter 16

2014-01-13 TIE-21100/21106 42

Page 43: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Maintenance Topics • Software Maintenance Fundamentals • Key Issues in Software Maintenance, technical,

management, cost, measurement • Maintenance Process and activities • Techniques for Maintenance, Program,

Comprehension, Reengineering, Reverse Engineering, Migration, Retirement

• Software Maintenance Tools Since evolution course was discontinued, we will basic cover maintenance and evolution in this course. Sommerville Chapter 9, Haikala&Mikkonen mentions in several places

2014-01-13 TIE-21100/21106 43

Page 44: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Configuration Management Topics • Management of the SCM Process • Software Configuration Identification

– Identifying Items to Be Controlled – Software Library

• Software Configuration Control – Requesting, Evaluating, and Approving Software Changes – Implementing Software Changes – Deviations and Waivers

• Software Configuration Status Accounting • Software Configuration Auditing • Software Release Management and Delivery

– Software Building – Software Release Management

• Software Configuration Management Tools One lecture, Chapter 25 in Sommerville, Chapter 13 Haikala&Mikkonen

2014-01-13 TIE-21100/21106 44

Page 45: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Engineering Management Topics, • Initiation and Scope Definition. Feasibility analysis ….

• Software Project Planning

• Software Project Enactment/implementation, monitoring

• Review and Evaluation

• Closure, Determining Closure, Activities

• Software Engineering Measurement

• Software Engineering Management Tools

In this cource one lecture devoted, also discussed in other lectures. Sommerville Chapters (18,) 22-26. Haikala&Mikkonen: Chapter 12

2014-01-13 TIE-21100/21106 45

Page 46: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Engineering Process Topics

• Software Process Definition – management and infrastructure

• Software Life Cycles , Categories, Models, Adaptation

• Software Process Assessment and Improvement

• Software Measurement

• Software Engineering Process Tools

Especially the life-cycle models are essential content for this course. Sommerville chapters 2, 3 (and 18), Haikala&Mikkonen Chapter 2.

2014-01-13 TIE-21100/21106 46

Page 47: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Engineering Models and Methods

Topics

• Modeling

• Types of Models

• Analysis of Models

• Software Engineering Methods

Many notations have been discussed in other courses, but general concepts will come in this course, too.

Sommerville Chapter 5, Haikala&Mikkonen Chapters 4-10 (with requirement view point)

2014-01-13 TIE-21100/21106 47

Page 48: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Software Quality Topics

• Software Quality Fundamentals, Culture, Ethics, value and cost

• Software Quality Management Processes

• Practical Considerations

• Software Quality Tools

One lecture at least – but also covered in other courses. Sommerville Chapter 24, Haikala&Mikkonen Chapter 11

2014-01-13 TIE-21100/21106 48

Page 49: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Remaining topics • Software Engineering Professional Practice

(ethics, legal, communication,….)

– Some elements will be included

• Software Engineering Economics • Some elements will be included

• Computing Foundations, Mathematical Foundations, Engineering Foundations

– Not in this course – there are other courses

2014-01-13 TIE-21100/21106 49

Page 50: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Goals of this lecture

• This course

– What to expect

– Am I in right course

– How to pass

• Software Engineering

– What is Software Engineering

– Chapters 1 in both books

2014-01-13 TIE-21100/21106 50

Page 51: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

First weekly exercise

• Read the arcticle: http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html before

• Think about the following questions

• What is ”silver bullet"?

• What makes SW development so difficult – according to article?

• What are the benefits of incremental SW development?

2014-01-13 TIE-21100/21106 51

Page 52: TIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 ... · PDF fileTIE-21100 Ohjelmistotuotannon menetelmät TIE-21106 Software ... At the end we will have a seminar ... TIE-21100

Links to material

• Software Engineering Body of Knowledge: http://www.computer.org/portal/web/swebok

• Ethics http://www.acm.org/about/se-code

• Silver bullet (e.g.) http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html

• Chapter 1 in both books

2014-01-13 TIE-21100/21106 52