#acl StaffGroup:read,write,admin,revert All:read <> = 521479S Software Project (7cp) = == Latest news == {{{#!wiki red/solid 2010-01-13 13:15 The starting lecture is held in room FY1120. 2010-01-18 10:15 The TA (a.k.a. assistentti) tells about course's heuristics in room TS133. You can still start the course. Contact the TA - preferably with a group and after selecting a project. }}} == ABSTRACT == In this course the student is familiarized with the phases of the software engineering process and working in a project. The theories from earlier studies put to practice. Experience from developing and testing a software component developed for real-life use. Main focus is on project documentation and formal reviews. == The course in a nutshell == * Three to four participants (two to six negotiable) form a group and select a client at the initial lecture, or otherwise * Each participant must be responsible for a document * Each participant must deliver code * Each participant must do at least 160 hours of work * There are five documents in total to be delivered * Requirements specification * Project plan * Technical Specification * Testing Plan and Report * Final Report * The grade is based on the quality of these documents and the satisfaction of the client *Document clarity and the use of design methods and diagrams are the key * The crucial documents are the Project Plan and the Final Report * The Project Plan specifies tasks, workloads, responsibilities and risk management * The Final Report recounts your heroic (and not so heroic) adventures * All of these documents are formally reviewed with the client. * Planning is emphasised * Risk management consists of specific realistic risks, their probabilities, severities and effects, symptoms and alternative plans * Scheduling is about assigning specific people specific workloads at specific times * Requirements are about specific project functions. They enable tracking the implementation and testing. == Information for clients == More detailed [[FaqClients|information for clients]] is available. == Description in English == 521479S Software Project ||Periods||Lectures||Exercises||Design Exercises||Credits Units|| ||4-6|| || ||160||7cp / 4cu|| == Contact information == === Teaching assistant (TA) === Christian Wieser <> Location: Tietotalo, TS361 === Lecturer === Prof. Juha Röning <> == Goals == The student is familiarized with the phases of the software engineering process and project work. The theories from earlier studies are implemented in practice. The student gains experience of real-life software development and testing. == Contents == Phases of software engineering process: requirement gathering, analysis, design, implementation, testing, (maintenance). Project-work, starting a project, project management, working with external parties, project documentation. Project related implementation techniques and tools, software documentation. == Implementation == The course is done in groups of three to five students. The clients are typically various companies and societies. Project progress is supervised in formal reviews, where the project teams present their work as it reaches the milestones: the software requirement specification, the project plan, the software design specification, an operational prototype demonstration, the test documentation, and finally the functional software demonstration and release. In addition to formal reviews the project work is coordinated with steering group meetings. The work environment and development tools vary between projects. The number of students that can attend the course is limited. == Literature == * Pressman, R.S.: Software Engineering A Practitioner's Approach, 4th edition, Mc Graw-Hill, 1997 * Phillips, D.: The Software Project Manager's Handbook, IEEE Computer Society, 2000 * Project documentation; project related manuals and handbooks == Prerequisites == * 521457A Software Engineering * 521453A Operating Systems * 521482A Programming Exercise == Projects == The TA collected several [[Projects|projects]]. Students - provided they have a customer - are free to bring their own project. == How to register for the course == This course utilizes this [[http://en.wikipedia.org/wiki/Wiki|Wiki]] to document the project's progress. Please follow the given [[instructions on registering]] == Starting lecture slides == [[attachment:info2010.ppt]] == During the project == During the project you will implement software and write documentation. Further [[DuringTheProject|information]] is available. == Frequently asked questions by students == We have collected a series of students' [[FaqStudents|questions and their respective answers]]. = To broaden one's horizon = == Software engineering radio == [[http://www.se-radio.net | {{http://www.se-radio.net/files/images/seradio-banner-600x80.gif| Software Engineering Radio}}]]