62
Software Development of Large Systems F1 HENRIK COSMO

Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Software Development of

Large Systems F1HENRIK COSMO

Page 2: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Course teachers

http://cs.lth.se/ETSN05

Henrik Cosmo

Course leader, lectures

Anders Bruce,

Project, labs, ePuss-guru,

design expert

Hussan Munir

Exercises, project, test

expert

Alma Orucevic-Alagic

Project, labs, technical

expert

Lena Ohlsson

Course secretary

Page 3: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

About me

• Q-Labs 1989-1996 Software engineering• Lic, LTH, 1991-1994 Software engineering• ENEA 1997 Software engineering• Ericsson 1998-2001 SW manager• Sony Ericsson 2001-2012 SW management team• Asurion 2012-2014 SW responsible APAC • Mobile Heights 2012-present Internet of Things• MAPCI 2012-present Internet of Things

• Have worked in most parts of software engineering.

• Mobile: 0720 23 56 09• Email: [email protected]• LinkedIn: https://se.linkedin.com/pub/henrik-cosmo/a/549/11

Page 4: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

My research interests

• Internet of Things

• Servitization

• Software engineering

Page 5: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Course background

Page 6: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Agenda of todays lecture

Part one:

• introduction

• course/project objectives

• course program

• course/project overview

• project roles

Part two:

• the product

• the task

• development model

Page 7: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Question

• How many lines of “production” code does the average

software engineer write per day?

Page 8: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Answer

• How many lines of “production” code does the average

software engineer write per day?

• Only between 10 to 20 lines of code

Page 9: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

What does a software engineer do every

day in office?

Page 10: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

What does a software engineer do every

day in office?

• Code maintenance

• Testing

• Writing new code

• Fixing bugs

• Understanding

existing code

• Working with clients

• Research

• Code reviews

• Email

• Design reviews

• Deployment

• Team meetings

• Documentation

• White boarding

• Monitoring

• Thinking

• Time writing

Page 11: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

What is this course about?

• This course will teach you about the things a software

engineer is doing when not coding

Page 12: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Skills needed for software engineering

• Patience

• Communication

• Curiosity

• Listening

• Self driven

• Math/logic

• Enjoys challenges

• Experimental

• Organized

Page 13: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Software project failures

• Swedish police system – PUST 123 million SEK

• http://computersweden.idg.se/2.2683/1.547909/polisen-lagger-ner-pust

• 10 biggest ERP software failures of 2011

• http://www.computerworld.com/article/2500604/technology-law-regulation/10-biggest-erp-

software-failures-of-2011.html

• Only 3 of 10 IT projects are successful

• http://computersweden.idg.se/2.2683/1.15441/stort-missnoje-med-it-projekt---bara-3-av-10-

anses-lyckade

• How to recognize a failing IT project

• http://chef.se/sa-kanner-du-igen-ett-misslyckat-it-projekt/

• Swedish failing IT projects

• http://cio.idg.se/2.1782/1.326833/darfor-floppade-projektentre-svenska-it-fiaskon-under-

lupp

Page 14: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

History – Waterfall 1970

• Huge problems with software disasters led to the study of

how high-quality software could be developed on a

predictable schedule and budget

• That resulted in a the definition of the first Plan-and-

document model called Waterfall model

• W. W. Royce defined the Waterfall model in 1970

• Steps

1. Requirements

2. Architectural design

3. Implementation and integration

4. Verification

5. Operation and Maintenance

Page 15: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Spiral model 1986

• It is easier for customers to understand what they want

once they see a prototype

• Engineers to understand how the system works after they

have done it once

• This lead Barry Boehm 1986 to define the Spiral model

• Steps

1. Determine objectives and constraints of this

iteration

2. Evaluate alternatives and identify and resolve risks

3. Develop and verify prototype for this iteration

4. Plan the next iteration

Page 16: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Rational Unified Process (RUP) 2003

• Inception: makes the business case for the software and

scopes the project to set the schedule and budget.

• Elaboration: works with stakeholders to identify use

cases, designs a software architecture, sets the

development plan, and builds an initial prototype.

• Construction: codes and tests the product, resulting in the

first external release.

• Transition: moves the product from development to

production in the real environment, including customer

acceptance testing and user training.

Page 17: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Agile models

• Agile software development is a group of software

development methods in which solutions evolve through

collaboration between self-organizing, cross-functional

teams.

– It promotes adaptive planning, evolutionary

development, early delivery, continuous improvement,

and encourages rapid and flexible response to

change.

• The Manifesto for Agile Software Development, also

known as the Agile Manifesto, first introduced the

term agile in the context of software development in 2001.

Page 18: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Agile manifesto - based on 12 principles1. Customer satisfaction by rapid delivery of useful software

2. Welcome changing requirements, even late in development

3. Working software is delivered frequently (weeks rather than

months)

4. Close, daily cooperation between business people and

developers

5. Projects are built around motivated individuals, who should be

trusted

6. Face-to-face conversation is the best form of communication

(co-location)

7. Working software is the principal measure of progress

8. Sustainable development, able to maintain a constant pace

9. Continuous attention to technical excellence and good design

10.Simplicity—the art of maximizing the amount of work not

done—is essential

11.Self-organizing teams

12.Regular adaptation to changing circumstance

Page 19: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Extreme Programming (XP)• Is intended to improve software quality and responsiveness to

changing customer requirements.

• It advocates frequent "releases" in short development cycles.

• Other elements of extreme programming include: – programming in pairs or doing extensive code review,

– unit testing of all code,

– avoiding programming of features until they are actually needed,

– a flat management structure,

– simplicity and clarity in code,

– expecting changes in the customer's requirements as time

passes and the problem is better understood,

– and frequent communication with the customer and among

programmers.

Page 20: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Scrum

• Is an iterative and incremental agile software

development methodology for managing product development.

• A development team works as a unit to reach a common goal",

encouraging physical co-location, as well as daily face-to-face

communication among all team members and disciplines in

the team.

Page 21: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Kanban

• Is a method for managing knowledge work with an

emphasis on just-in-time delivery while not overloading

the team members.

• In this approach, the process, from definition of a task to

its delivery to the customer, is displayed for participants to

see.

• Team members pull work from a queue.

Page 22: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Waterfall vs. Agile

• Pure waterfall models have gotten a lot of criticism due to

lack of customer communication through out development

• Agile methods are one answer to this criticism, but they

have other problems.

• Most projects in industry are still waterfall based

development. Very often a mix of the two is used.

• You have to choose the model that fits your needs.

– Start ups - Agile

– Large military projects – Waterfall with agile

influences

Page 23: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

This course teaches Waterfall

• This course teach a waterfall model that can be tailored to

become more agile

• Due to

– That it is a good basis to understand all development

methods.

– Is the most used in industry.

– The trend is to move towards a mix of the two main

methods.

Page 24: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

What is this course about?

Page 25: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Course and project objectives

Prepare you for large-scale, industrial software

development in teams.

Knowledge of:

• development processes

• project management

• central concepts from large-scale development

Experience with:

• problems in large projects

• possible solutions to problems

• experience one particular project role (hands-o

Page 26: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Important areas that you should know

about after the course

• Development models

• Requirements engineering

• Configuration management

• Test and quality management

• Project management

– Planning and follow-up

• Some basic software engineering terminology

Page 27: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Pedagogical approach

• Learning by doing: Case-based learning

• Simulate a real project in a typical large software

organization.

• Having issues is good for learning. Some issues may only

appear in some teams.

• Apply approaches used in current software engineering

practice, such as project management, process model,

milestones, reviews, etc.

Page 28: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Support

Compendia:

• project guide (PH)

• base system see course website

Lectures (4+1)

Exercises (3), Tool labs (2)

Experts (3+1): requirements, design, test

Section manager

Reviews (2+1)

Page 29: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Course compendium

Page 30: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Lectures, exercises, labs and reviews

Week 1 2 3 4 5 6 7

Lecture FÖ1 FÖ3 FÖ6

FÖ2 FÖ4

Exercise Ö1 Ö3

Ö2 Ö4

Labs TÖ1 TÖ2

Reviews Gr1 Gr2 Acc-test

Page 31: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Other deadlines and meetingsWeek 1 2 3 4 5 6 7

PG PSU,ESU LSU

PrM PrM PrM PrM PrM PrM PrM

KOM SMM SMM SMM SMM SMM

SG PSU,ESU LSU

PrM PrM PrM PrM PrM PrM PrM

KOM EM EM EM EM EM

UG PSU,ESU LSU

PrM PrM PrM PrM PrM PrM PrM

EM EM EM EM EM

TG PSU,ESU LSU

PrM PrM PrM PrM PrM PrM PrM

KOM EM EM EM EM EM

Project meetings = PrM PM, All

Section manager meeting = SMM PM

Expert meeting = EM PM, SG, UG, TG

Kick-off möten = KOM PG, SG, TG

Exercise sign-up = ESU All

Lab sign-up = LSU All

Project sign-up = PSU All

Page 32: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Document Timeline

Week 1 2 3 4 5 6 7

PG

SG

UG

TG

SDDD

SSD

PFR

PFR

PFR

PFR

SVVI

SDP

SRS

SRS

SVVS

STLDD

STLDD

SDDD

SVVR

Review: SSR

Baseline: SpecificationReview: PDR

Baseline: Design&Test

Review: PR

Baseline: Product

Page 33: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Reports

Week 1 2 3 4 5 6 7

PG TiR,WR,IA TiR,WR,IA TiR,WR,IA TiR,WR,IA TiR,WR,IA TiR,WR,IA TiR,WR,IA

RR RR RR

SG TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA

PR PR PR PR PR PR

UG TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA

TG TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA TiR, IA

TeR TeR TeR

Time report = TiR All

Status report = SR SG

Weekly report = WR PG

Review report = RR PG

Test report = TeR TG

Problem report = PR SG

Indivudual assignment = IA All

Page 34: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Lecture 5 in week 6

• Seminar on problems in large projects

• Discussions based on your input

• You can submit your discussions-points (will be kept

anonymous if preferred) as input to the lecture during

week 6 to

[email protected]

• More information later

Page 35: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Assessment model

Page 36: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Project

Page 37: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

What are we going to do on the course?

Page 38: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Development project

Development project

• Project managers

• Software architects

• Software developers

• Software testers

80 students have registered for the course

80/4 = 20 students per project

Build new software system

from a legacy system

Fundamental software engineering principlesDefining requirements, CCB, configuration management,

quality assurance, project planning, project follow up,

defining processes, roles and responsibilities, …

Development modelsPlan-and-document

Agile

Page 39: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

The project task

• The course will be split into 4 teams to solve an Internet

of Things project task together

• Development of Android apps

Page 40: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

The product

Page 41: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Some basic Use cases to be

implemented

• Turn on/off the lamp

• Change color of the lamp

• Activate/deactivate that the sensor sends data.

• Get sensor data for different sensor types (humidity,

temperature…) within chosen time intervals.

Page 42: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Project organization

• Project managers (PG)

• System Architects (SG)

• Developers (UG)

• Test Groups (TG)

Page 43: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

”External” roles

Page 44: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Project management group (2 persons)

• Responsible for the group producing a result

• Plan, put together group, assign (and re-assign) tasks

• Identify configuration items

• Collect and report metrics data

• Report to the Section manager

• Put together the Software Development Plan (SDP),

• The System Specification Document (SSD) and the

Project Final Report (PFR)

Kick-off project managers:

Wednesday 02/09 17:00 (after the lecture) with Henrik Cosmo in

E:2405

Page 45: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

System group (3 persons)

• Responsible for coordinating the technical work

• Handle the base system and interfaces

• Responsible for program library and error- and change reports

• Put together the

Software Requirements Specification (SRS),

Software Top Level Design Document (STLDD)

Software Detailed Design Document (SDDD)

• Do time reporting

Kick-off architects:

Thursday 03/09 12:15 with Anders Bruce and Alma Orucevic-Alagic in

E:2405

Page 46: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Developers (2 persons/team)

• Develop the requested new functionality

• Produce parts of the

Software Requirements Specification (SRS),

Software Top Level Design Document (STLDD)

Software Detailed Design Document (SDDD)

• Do time reporting

NO kick-off for your Group

Page 47: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Test group (2 persons/team)

• Responsible for testing

• Build new versions of the system before testing

• Create test files and carry out testing

• Produce the

Software Verification and Validation Specification (SVVS),

Software Verification and Validation Instruction (SVVI)

Software Verification and Validation Report (SVVR)

• Responsible for coordinating appendices

• Time reporting and error reporting

• A test manager must be appointed

Kich off with Hussan Munir on Wednesday 02.09 at 12:15 in E:2405

Page 48: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Experts and Section Manager

• Section manager -- SDP and PFR

• Requirements expert -- SRS

• Design expert -- STLDD and SDDD

• Test expert -- SVVS, SVVI and SVVR

• ePUSS-guru – Internet of Things system

People from Computer Science are experts and the Section

manager, customer (via the Section manager) and quality

evaluators (through reviews)

Page 49: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

From requirements to code

Page 50: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Development model

Page 51: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Some software engineering concepts

(PH:1.2)

• Process, development model

• Configuration management, change management

• Requirements engineering

• Specification, analysis, design, implementation

• Review/inspection, validation ("Are you building the right

thing?"), verification ("Are you building it right?") and test

• Product documentation

• Project management, time planning, costs, resources

• Quality assurance

• Metrics (Metrics planning, -collection and -analysis)

• Characteristics, e.g. reliability

• Support system, CASE-tool

Page 52: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Administration

Page 53: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Signing up for the project

If you have doubts about taking the course – make up your

mind NOW!

Choose group via the homepage until Tuesday at 23.59

https://sam.cs.lth.se/LabsSelectSession?occasionId=3

84

Check your email often Tuesday/Wednesday, as your

project managers will call for the first group meeting

Page 54: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Sign up for exercises

• Exercises: no later than today at 18:00

• Labs: next week – check the course website for news

Page 55: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Lectures, exercises, labs and reviews

Week 1 2 3 4 5 6 7

Lecture FÖ1 FÖ3 FÖ6

FÖ2 FÖ4

Exercise Ö1 Ö3

Ö2 Ö4

Labs TÖ1 TÖ2

Reviews Gr1 Gr2 Acc-test

Page 56: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Sign up system

https://sam.cs.lth.se/LabsSelectSession?occasionId=384

Page 57: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

To do before exercise session 1

• Mandatory preparation and participation on

exercises!

• Bring your computers if you have. This will help you

a lot during the exercise. If you do not have computer

with internet connection, please a print out of the

exercise!

• Prepare according to exercise preparation instructions.

Page 58: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Tentative project plan week1 (PH:C)

Page 59: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

We are looking for project managers

We are looking for project managers!

The job requires: persistence, will to carry through,

discipline

The jobs gives:

• experience, overview, satisfaction

Previous experience not required, but merits are

appreciated. Talk to the Section manager during the break.

Email application to: [email protected]

• No later than this afternoon at 18:00 !!!

Page 60: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Good to do this today!

• Read PH chap. 1 through 4.4 (before exercise 1)

– study carefully the tasks of all roles (PH:3)

• Get an overview of the development model (PH:A)

• Check out the course home page:

http://cs.lth.se/ETSN05

• Before your first project meeting

– check email often (project managers may call for

meetings)

• Give comments on what you would like to discuss on

lecture 5

Page 61: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU

Thank You

Questions?

Email [email protected]

Page 62: Software Development of Large Systems F1cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture1_2015.pdf · 2015. 8. 31. · SG PSU,ESU LSU PrM PrM PrM PrM PrM PrM PrM KOM EM EM EM EM EM UG PSU,ESU