+ All Categories
Home > Documents > ProgramvaruUtveckling för Stora System - LTHcs.lth.se/fileadmin/serg/PUSS_Lecture1_2014_01.pdf ·...

ProgramvaruUtveckling för Stora System - LTHcs.lth.se/fileadmin/serg/PUSS_Lecture1_2014_01.pdf ·...

Date post: 05-May-2018
Category:
Upload: vothien
View: 213 times
Download: 0 times
Share this document with a friend
26
2014-09-02 1 ProgramvaruUtveckling för Stora System Course teachers http://cs.lth.se/ETSN05 Krzysztof (Kris) Wnuk Course leader, lectures Andres Bruce, Project, labs, ePuss-guru, design expert Hussan Munir Exercises, labs, project, test expert Johan Linåker Project, requirements expert Lena Ohlsson Course secretary
Transcript

2014-09-02

1

ProgramvaruUtveckling förStora System

Course teachers

http://cs.lth.se/ETSN05

Krzysztof (Kris) Wnuk

Course leader, lectures

Andres Bruce,

Project, labs, ePuss-guru, design expert

Hussan Munir

Exercises, labs, project, test expert

Johan Linåker

Project, requirements expert

Lena Ohlsson

Course secretary

2014-09-02

2

About me

• Developer at Vector, Poland, 2004-2006

• Exchange student at IT-Univ, 2006

• MSc in Telecom -> DHCP v6, 2006 my first paper

• Support Engineer at Telelogic, 2007

• Ph.D. LTH, 2007 – 26. 10. 2012

• Visiting researcher at Siemens Corporate Research, Princeton, USA

• Postdoc in software engineering at SERG in Lund in the SYNERGIES project

My research intrests

• Requirements management

• Software Product Mangement

• Software Business Models

• Software Ecosystems

• Open Innovation

• Entrepreneurship

• Software Startups

2014-09-02

3

WELCOME

Part one:

• introduction

• course/project objectives

• course programme

• course/project overview

• project roles

Part two:

• the product

• the task

• development model

System size – project size

Who has developed something from SCRATCH the last 5 years?

2014-09-02

4

Require software ENGINEERING, not software ”handicrafting” or software „ART”

Implications of ENGINEERING

ENIGNEERING Implies:

– Collaboration in projects - roles and responsibility

– Defined way of working – processes

– Documented work - specifications, plans, designdocuments

– Avoiding ”hangover” after a fruitful developmentnight

2014-09-02

5

Software Engineering is Teamwork!

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

2014-09-02

6

Pedagogical approach

• Simulate a real project in a typical large software organization

• Apply approaches used in current software engineering practice, such as project management, process model, milestones, reviews, etc.

• Focus on organizational challenges while reducing technical risks (common system, well-known by teachers)

• Learning by doing: Case-based learning

2014-09-02

7

Support

Compendia:

• project guide (PH)

• base system see kurswebsite

Lectures (4+1)

» Test expert from System verification

» http://www.sydsvenskan.se/ekonomi/har-ar-arets-foretagare-i-malmo/

Exercises (4), Tool labs (2)

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

Section manager

Reviews (2+1)http://csjobb.idg.se/2.9741/1.478989/krav-och-test-tar-ett-kliv-framat

Course compendium

2014-09-02

8

Time plan and important deadlines

Overview of the support sessions

2014-09-02

9

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 5 to

[email protected]

• More information later

Assessment model

2014-09-02

10

More information in the course program

The project organization

2014-09-02

11

„External” roles

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 theProject Final Report (PFR)

Kick-off project managers:Wednesday 03/09 17:00 (after the lecture) with Krzysztof Wnuk in E:2405

2014-09-02

12

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 04/09 12:15 with Anders Bruce and Johan Linåker in E:2405

Developers (4*2 persons)

• 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

2014-09-02

13

Test group (3*2 persons)

• 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 co-ordinating appendices

• time reporting and error reporting

• a test manager must be appointedKich off with Hussan Munir on Wednesday 03.09 at 12:15 in E:2405

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 -- web system for reporting

People from Computer Science are experts and the

Section manager, customer (via the Section manager) and quality evaluators (through reviews)

2014-09-02

14

We are looking for project managers

We are looking for project managers!

The job requires: persistance, will to carry through, discipline

The jobs gives:

• experience, overview, satisfaction

Previous experience not required, but merits areappreciated. Talk to the Section manager during the break.

Email application to: [email protected]

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

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=337

Check your email often Tuesday/Wednesday, as your project managers will call for the first group meeting

2014-09-02

15

Sign up system

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

Sign up for exercises

• Exercises: no later than today at 15:00

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

2014-09-02

16

The project task

• Web based solution for time reporting in projects

• Implemented as Servlets on a Tomcat web server

• Data stored in a MySQL database

• Programming in Java and SQL

• One lecture, one seminar, and new labs offered. (Andextra meetings with the teachers.)

• The same development process should be used (withsome minor adjustments)

The product• New time reporting system

– Web-based

– Maybe to be used in the course

• Take a look at ePUSS and the time reporting instructions in the course to understand what kind of system we have in mind

• Improvements compared to current procedures/systems are OK (and of course welcome)

• Generalization possible (i.e. usable outside the course)

• See PH:B for more detailed specification

2014-09-02

17

Some basic functions to be implemented

Time reporting

– For project members to report time (per phase, per document, etc)

Report generation

– Summarize time spent per person, phase, document, etc

– For project leaders and other managers

Administration

– Define projects

– Add/remove project participants and groups

– etc…

Visualize statistics about the time spent in the project

Why processes?

• Communication

– Within the project group

– With the external partners

• “Tool”

– Concept

2014-09-02

18

From requirements to code

Development model

2014-09-02

19

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

Några programvarusystembegrepp (PH:1.2)• Process, utvecklingsmodell

• Konfigurationshantering, ändringshantering

• Kravhantering

• Specifikation, analys, design, implementering

• Granskning, validering, verifiering och test

• Produktdokumentation

• Projektledning, tidplanering, kostnader, resurser

• Kvalitetssäkring

• Metrics (Mätningsplanering, datainsamling och analys)

• Egenskaper, t.ex. tillförlitlighet

• Hjälpmedel, stödsystem, CASE-verktyg

2014-09-02

20

Concepts in the development model

Document

2014-09-02

21

Review/inspection

A meeting where you in a structured way check that documents are correct and of a high quality. All errors are recorded.

There are two types of reviews:

– Informal: the project’s internal quality control

– Formal: auditors, reviewers, inspectors, quality assurers + the whole project group

2014-09-02

22

Baseline

After a review and bug correction, you create a baseline whose constituent documents are ”frozen”. Subsequent changes are controlled.

Configuration Management

CM is a controlled way to manage development and change to systems during the whole lifecycle

Why do we need CM?

• to enable parallel work

• to know at any time what parts depend on other parts and which is the valid version

• to have a strategy for how to ”integrate” changes and corrections

2014-09-02

23

Change Control Board (CCB)

• Make decisions about changes

• The status report provides the history for each CI

• The problem report is like a baton that is passed between the different parties involved in carrying out a change and where all decisions and actions are documented

The life-cycle of a change

2014-09-02

24

Tentative project plan week1 (PH:C)

To do before exercise session 1 (this afternoon)• Book your exercise group

• Study carefully the course program

• Familiarize yourself with the course material

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

• 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 call for meeting)

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

2014-09-02

25

Fill in the time report

Thank You

Questions?

Email [email protected]

2014-09-02

26


Recommended