programvaruutveckling för stora system - lthcs.lth.se/fileadmin/serg/puss_lecture1_2014_01.pdf ·...
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
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
• More information later
Assessment model
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
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
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)