Presentation on theme: "Software Engineering DD1363 MVK-08"— Presentation transcript:
1Software Engineering DD1363 MVK-08 Karl MeinkeNADA
2Overview of CourseAim: To introduce students to the theory and practise of software engineering.Activities:formal lectures,invited industrial speakers,a group project (10-12 students – 6 points)an individual term paper (1 student – 6 points)
3Overview (cont)Assessment: individuals will be assessed by weighting the grades awarded for:the group project andthe term paper.There is no formal examination .
4Software Engineering Theory We will organise our study of theory around the Waterfall lifecycle model This will support and guide your project work
5UML The Waterfall Lifecycle Workflow Time User Requirements Business Process ModelingUMLSoftware RequirementsSystem ModelingArchitecture DesignArchitectures &PatternsDetailed design & CodingYou know this!The WaterfallLifecycle WorkflowTestingSoftware QADeliveryTime
6Theory We will consider other theoretical subjects such as: Lifecycle modelsManaging project riskProject management
7Term Paper (6 points)An original, in-depth exploration of some current topic in SE.Topic must be software-engineering-relatede.g.: project management, software lifecycle models, software development environments and tools, requirements capture, verification and validation, testing, programming language design, future programming languages, platforms or architectures, emerging standards, project failures, risk management etc etc.particular merit if oriented towards the state of the art and/or current research.main purpose is to assign a course grade to each student that is based on their own individual work effort. The term paper is not a collaborative exercise!You may write your term paper in Swedish or English.
8Term Paper (cont)The term paper assignment has 2 components: initial abstract and final submission.You must avoid writing on the same subject as someone else on the course.
9Initial AbstractYou have three weeks to choose a subject and write an initial abstract in a 1-page single-spaced document.abstract must convince the course leader that your subject matter is suitable for a term paperProvide at least 4 references that give a context for the theme of the paper
10Final Submission 7 pages double-spaced (excluding references) A survey of your chosen subject, not a new research contributionCompleteness is more important than originalityReflects your level of understanding and your command of the literature wellIndividual effort – no collaboration or plagiarism!
11Group Project (6 points) The practical work for the course will consist of group project work (10-12 students)Carry out a substantial design, implementation and test of a "large" system according to course theory.Practice a waterfall model of software development. (Evolutionary GUI?)Analysis and design take place before implementation.
12Group ProjectA list of projects will be circulated and discussed in class.Students will be instructed as to how to divide up into groups of persons.You should meet as a complete group at least once a weekYou must attend unless you have strong reasons not to.
13Project List 08 (incomplete?) Virtual reality Environmental Problems, Kimmo Eriksson, m.fl.Sonera SmartTrust ABWAP Portal Interaction Design Strategy, Andreas Soneby, UNIBT.Visualisering av data från A/D-omvandlare, Sten Ternström, TMH.Merging two python open-source projects by merging ElementTree and PDIS XPath engine, Anna Thorslund.NoName, Helge Stephansen, T-VIPS AS/Mats Erixon.NoName, Örjan Melin, United Network.Beräkningar och gränssnitt I samband med tillverkning av rostfritt stål, Rutger Gyllenram, Kobolde&PartnersGymnastik vid datorn, Helena Tobiasson, Staffan RombergerVarors och tjänsters miljöpåverkan, Sinna LindqvistNoName, Niklas Rudemo, VirtutechNoName, Klas Orsvärn, EVP Business Development
14Project Schedule Divided into 6 phases of a waterfall model: (1) Project Planning and Feasibility Study, (2) User Requirements Analysis, (3) Software Requirements Specification, (4) Architectural Design. (5) Detailed Design and Coding. (6) Testing and Delivery.
15Project DeliverablesEach group will deliver a report at the end of phases 1-4.Phase 5 deliverable is simply codePhase 6 deliverable is a group presentation of the project for the class, followed by an individual software demo.Each phase carries equal credit points.
16Project Reporting Each phase ends with a written and oral report, Delivery dates are also on web page.Two persons per group to deliver a 6 minute presentation of the report to class using OHP slides.Presenters must hand in a bound typed hardcopy of the report.ESA PSS 05 reporting standard
17Project Timetable: Period 2 Week 45: Tues 4th Nov, E1, : Introduction to projects and choice of project.Week 47: Tues 18th Nov, E : Presentation and submission of Project Planning Document (PPD).Week 50: Wed 10 Dec, E1, : Submission and Presentation of User Requirements Document (URD).
18Project Timetable Periods 3,4 Week ?: ?? Jan 2009, ??, ????-???? : Submission and Presentation of Software Requirements Document (SRD).Week ?: ?? Feb 2009, ??, ????-????: Submission and Presentation of Architectural Design Document (ADD).Week ??: May 2009, ??, ????-????, ????-???? : Final presentation of the completed project, delivery of User Manual. Schedule individual project times for practical software demonstration.NOTE: Each project member must make at least one oral project presentation
19Project Meeting Minutes Must record the dates and times that your project group meets.May prepare an agenda for meetingSecretary must take minutes of meeting (mötesanteckningar)Minutes must be circulated electronically to groupMinutes must include actions and individual responsibilitiesMinutes must be checked again at next meeting to follow up actions, and outcomes must be recordedLatest minutes must be included with each deliverable reportSee web page for examples
20Phase 1: Project Planning and Feasibility Study It is important that you function "as a group".Get to know one another (different skills, interests and experiences)Establish standards for discussion, reaching agreement and resolving conflict.Project planning and feasibility phase not officially part of the PSS 05 standard.Success will:connect you as a coherent group, with an agreed and understood joint set of objectives and approaches.Lower the project risk attached to your project. (A more detailed risk analysis comes later.)help you prepare for first major task: writing the User Requirements Document (URD).
21PPF Phase: How to?ASAP you must meet as a group and establish a regular weekly meeting timeYou can meet in any location you wish.From time to time smaller working groups can meet.To maintain progress you must meet every week. Evidence of this meeting, will be sets of minutes submitted for all meetings with each project deliverable (URD, SRD, ADD).
22PPF Phase: How to? (cont.) First task is to assign yourselves a group name (legal and decent.),Collect your names, addresses and telephone numbers and me this informationPerform a skills audit of the group, i.e. technical strengths and weaknesses of each group member (e.g. Unix expert, Windows expert, GUI expert, etc.)Team members need to be honest and open about this
23Project RolesOn the basis of skills audit you should assign roles to group members (one member can have more than one role.)Project leader: Responsible for overall co-ordination, and ultimate decisions and responsibility, deep understanding of the project and the PSS 05 standard.Project secretary: Responsible for writing/delegating documentation and report writing, taking minutes of meetings, deep understanding of the PSS 05 standard.Chief programmer(s): An optional role, but favoured by many in industry, senior responsibility for coding, a person who delegates simpler programming tasks.
24Roles (cont.)Programmer(s): A more flexible programming role that might also include documentation and testing.Documentation Manager: An optional role that could be separated from the secretary role, write and/or produce reports.Report Writer(s): A technical writer, assigned tasks by the secretary or documentation manager.Tester(s): Responsible for unit module and system testing. Receives tasks assigned by the project leader or chief programmer(s). Typically programmers are not allowed to test their own code.
25Roles (cont.)Requirements Analyst(s): An optional role, responsible for capture, exploration and analysis of end-user requirements. Good social skills are important for this role, as well as technical ability.Designer(s): Responsible for problem analysis, solution inception and software design. Tasks normally assigned by project leader.GUI expert(s): An optional but common specialist role. Tasks assigned by project leader/ chief programmer.Project planner(s): An optional role otherwise performed by the project leader and/or secretary. May also monitor progress and reschedule tasks to incorporate change.
26Roles (cont.)Customer Account Manager: Industrial end-users tend to be very busy, so one single reliable unique point of contact reduces confusion and improves communication. Excellent social skills are important for this role.NOTE: all the above project roles must be manned by some person (exception: optional roles!). Roles must be recorded in the planning documentEveryone expected to contribute to ideas and decisionsYou should be democratic, although in the case of conflict project leader has the final say.
27PPF Deliverable: PPDCover page, Contents page, Abstract (1-2 paragraphs) 1. Statement of the Problem 1.1. Statement of the Problem 1.2. Motivation 1.3. Goals 1.4. Skills Baseline 2. Background to the Problem 2.1. Commercial background 2.2. Scientific background 2.3. Technical Background Conclusion: Feasibility Assessment Appendix (Total: covers pages?)