Preliminary Course Information, PUM-I, TDDB062 Date: 2001-06-29 Personal introduction Warmly welcome to the course in Software Engineering for the I curriculum 2001. My name is Kristian Sandahl and I’m hired as professor in Software Engineering from June 2001. Before that I spent 6 years at Ericsson in parallel to some university research activities. Software engineering is about building, maintaining and operating software in a systematic and intelligent way. Software is critical to almost any business and touches many disciplines such as psychology, organisation theory, business analysis, mathematics etc. That’s why Software Engineering is so fun! I hope I and my assistants can motivate you to share some of our enthusiasm. Parts of the course Theory The theoretical content of the course is provided in the course book and 12 lectures. The course-book is Peters, J.F. and Pedrycz, W. (1999). Software Engineering: an engineering approach, Wiley, ISBN 0-471-18964-2. Please note that this is not the same book as last year. This book covers more practical aspects and is cheaper (according to bokfynd.nu) than the earlier one. You should read to understand the entire book. The advanced level, chapters 13, 14, 15, 17, 18 can be read with lower ambition. The 12 lectures will cover many parts of the book, but they will not necessarily replace reading the book. Rather the lectures are there to complement and criticise the book. I will invite some expert guest lectures. Practice In the labs you will spend 16 hours investigating two important tools: Rational Rose and JBuilder. Both are heavily used in industry and you may find good use of them in your projects as well. We have an 8-hour lab with Rose. The goal of the lab is to make you well acquainted with the tool and the UML notation for modelling software. Hopefully you will get the feeling that modelling is as important and creative as coding. We have a 4-hour lab in JBuilder, which is a powerful tool for Java programming. You will be required to run a few on-line tutorial lessons. Programming is in the prerequisites of the course, but you need practical training. The remaining 4 hours in the lab is there if you should need extra time due to some problems, but in first hand you should use the time to increase your proficiency with the tools. I recommend that you spend some time in investigating the possibility to connect a Java application to a database. Project The projects are there to give you experience. For some of you this is the first time you participate in a practical development team. The world is not perfect and the goal is not to create a perfect solution to the task you will get. The goal is to learn as much as possible from trying to create a feasible solution. The projects are performed in four system groups, all with the goal of creating a scheduling system for a university. Each system group is divided in five component groups of 6-8 persons each. These groups are responsible for one component each of the system, namely: the database, optimization algorithms, application for navigating for students and teachers, application for teachers giving input to the system, and application for administrators optimising the entire scheduling of the university. Each component group should have a project organisation with at least an identified project leader. Other roles are up to you. You are supposed to negotiate interfaces with other component groups in your own system group. The components should be specified, designed, coded, tested, demonstrated and hopefully also integrated with other components. This is problem-oriented education, so you need to find the information from many sources. We will give you hints, but not solutions. Each component group will meet an hour a week with the appointed instructor. Each system group will have two seminars, one in the start of the project and one at the end. All component groups shall present their plans and results at these seminars. Each component group is required to hand in the following documents to its instructor: a requirement specification, a design description, a test report and an experience report. The experience report is very important and the instructor will give you written feed-back on that. The other documents will be discussed during weekly meetings. The project will start the last two weeks of period 1, so there will be about 8 weeks to complete the projects. The project part is 2.5 academic credits which corresponds to at minimum 100 hours work per person. For a six-person group this means that we expect you to spend 600 hours in total. Examination To pass the course you should have: 1. Passed the written exam with grade 3, 4, or 5. There will be 10 short questions and 5 longer questions. You select 2 of the 5 longer questions. You are allowed to bring the course book to the exam, but you will have a hard time if you have not read it thoroughly in beforehand. The exam is preliminary scheduled to October 19th 14-18. There will be two more chances in January and August 2002. 2. Recorded presence at 16 hours of lab-time, and have shown the assistant that you fulfilled mandatory parts. 3. Participated in a project group, which has fulfilled the specification, design, coding, testing, demonstration and integration of a component. 4. Participated in a project group which have handed in a requirement specification, a design description, a test report and an experience report. 5. Participated in two system group seminars. The project work will be graded with UK, 3, 4, 5 per component group by the instructor, who in turn conferences with me. (You probably have to behave really odd to get a UK.) Higher grades are given to groups who either produces a lot and/or learn a lot. Your individual grade is derived from the table below: Grade from written exam Grade from project work Final individual grade 3, 4 or 5 UK UK 3 3 3 3 4 4 3 5 4 4 3 4 4 4 4 4 5 5 5 3 5 5 4 5 5 5 5 Other things In the course we will try out the Blackboard system for course administration and communication. See www.blackboard.com if you are interested. This is a pilot installation, and if technical things do not work we will use group-mail and news instead. The default course language is English. If all of the audience in a single lecture or seminar understands Swedish we will use Swedish. Most business is international, so you have to start practise. A guest student who asks for a lecture to be given in English should be treated with respect. Please note that everything in this description is preliminary.