News
Results for Individual PhaseWritten on 25.10.23 by Kallistos Weis Dear participants, The evaluation of the individual phase is completed and you can view the results of the individual phase and your overall passing status on your personal status page in the CMS. Dear participants, The evaluation of the individual phase is completed and you can view the results of the individual phase and your overall passing status on your personal status page in the CMS. Best, |
||||||||||||||||||||||
Submission ReminderWritten on 20.10.23 by Kallistos Weis Dear participants, Remember for the deadline today you also have to upload your updated project description (using our LaTeX template) in the CMS. Best, |
||||||||||||||||||||||
End of Individual PhaseWritten on 20.10.23 by Kallistos Weis Dear participants, The individual phase will end today at 23:59 CEST. The results will be announced in the next week. To support you in the best possible way, our tutors voluntarily decided they want to offer you an additional extended Office Hour today. Dear participants, The individual phase will end today at 23:59 CEST. The results will be announced in the next week. To support you in the best possible way, our tutors voluntarily decided they want to offer you an additional extended Office Hour today. We wish you good luck for the last hours of the individual phase! Best, |
||||||||||||||||||||||
Office Hours FridayWritten on 19.10.23 by Christian Hechtl Dear participants, the office hours tomorrow will take place from 10:00 - 12:00 in Lecture Hall 1 E1 3 and from 14:00 - 16:00 in 407 E1 1. Best, |
||||||||||||||||||||||
Second Set of Tests and MutantsWritten on 16.10.23 by Kallistos Weis Dear Participants, We have released the second set of tests. We have also released mutants of our reference implementation. Dear Participants, We have released the second set of tests. We have also released mutants of our reference implementation. We will run the first part about every 2h starting today and the second part about every 4h starting today. Best regards, |
||||||||||||||||||||||
Office Hours this WeekWritten on 16.10.23 by Christian Hechtl Dear participants, following you can find the time and place of the office hours for this week until Thursday. The office hours for Friday will be announced separately.
Dear participants, following you can find the time and place of the office hours for this week until Thursday. The office hours for Friday will be announced separately.
Best, |
||||||||||||||||||||||
Test Pipeline ReleaseWritten on 13.10.23 by Kallistos Weis Dear participants, From now on, we run a first set of tests on your implementation as well as your tests on our reference implementation (using the function called 'registerSystemTestsReferenceImpl' in the SystemTestRegistration.kt file). Dear participants, From now on, we run a first set of tests on your implementation as well as your tests on our reference implementation (using the function called 'registerSystemTestsReferenceImpl' in the SystemTestRegistration.kt file). On Monday, we will release a second set of tests to the three categories. Best, |
||||||||||||||||||||||
Feedback for the Design DraftWritten on 12.10.23 by Kallistos Weis Dear participants, We have uploaded the feedback for your submissions. You can find it on your personal status page in the CMS below the submission. Please note that, if you only see feedback for your class diagram draft, the feedback for your project description will be included there. Dear participants, We have uploaded the feedback for your submissions. You can find it on your personal status page in the CMS below the submission. Please note that, if you only see feedback for your class diagram draft, the feedback for your project description will be included there. Best regards, |
||||||||||||||||||||||
Update UML ClassdiagramWritten on 10.10.23 by Kallistos Weis Dear participants, we have updated the class diagram for the reference implementation that serves as a basis for your individual project. We included the missing classes and properties and fixed a lot of style issues. As this is quite a big change, we postpone the deadline for the draft… Read more Dear participants, we have updated the class diagram for the reference implementation that serves as a basis for your individual project. We included the missing classes and properties and fixed a lot of style issues. As this is quite a big change, we postpone the deadline for the draft submission of your design to **Thursday, 12 October 2023, 9 am**, and you will receive feedback on your draft on **Friday, 13 October 2023, at 2pm**. Furthermore, we postpone the first deadline of the individual phase to **Monday, 16 October 2023, 2pm**. The deadline for the final submission of your project remains unchanged. To make up for this inconvenience, you will not have to include all methods and properties of our classes in the class diagram you submit. We are sorry for the inconvenience. Best regards, |
||||||||||||||||||||||
Course EvaluationWritten on 10.10.23 by Christian Hechtl Dear participants, On your personal status page, you can now find two links for the course evaluation of the SE Lab. We especially appreciate… Read more Dear participants, On your personal status page, you can now find two links for the course evaluation of the SE Lab. We especially appreciate constructive feedback in the free text fields. Best, |
||||||||||||||||||||||
Specification Individual Phase ClarificationsWritten on 09.10.23 by Kallistos Weis Dear Participants, We have added some clarifications to the specification of the individual phase. Additionally, we uploaded the plantUML source of the class diagram, so you can modify that for your submission. Best regards, The SE-Lab Team |
||||||||||||||||||||||
Results of the Group Phase and Start of the Individual PhaseWritten on 07.10.23 by Christian Hechtl Dear participants, We have completed the evaluation of the group phase. On Monday, the individual phase of this year's SE Lab starts. Dear participants, We have completed the evaluation of the group phase. On Monday, the individual phase of this year's SE Lab starts. Best, |
||||||||||||||||||||||
End of the Group Phase - Extended Office Hour and More RunsWritten on 06.10.23 by Christian Hechtl Dear participants, Today, the group phase ends at 23:59 CEST. To provide you with the best possible support, the tutors have made themselves available for an extended Office Hour today. That is, the tutors will be available for questions in Room 107 in E1 3 from 18:00 to 23:59 CEST in addition… Read more Dear participants, Today, the group phase ends at 23:59 CEST. To provide you with the best possible support, the tutors have made themselves available for an extended Office Hour today. That is, the tutors will be available for questions in Room 107 in E1 3 from 18:00 to 23:59 CEST in addition to the normal Office Hour today. Furthermore, we have significantly increased the number of test runs on our server to provide you with faster feedback. Best, |
||||||||||||||||||||||
Office Hour Today (04.10.) in Lecture Hall 1 (E1 3)Written on 04.10.23 by Christian Hechtl Dear participants, the office hour today (04.10.) will take place in lecture hall 1 in E1 3 from 2pm to 4 pm. Best, |
||||||||||||||||||||||
Important: Pipeline UpdatesWritten on 02.10.23 by Kallistos Weis Dear Participants, In order to provide more feedback about your implementation to you, we have decided to split the pipeline into three parts. The first part will run our system tests on your implementation and part of your system tests on our implementation. You need to register these system… Read more Dear Participants, In order to provide more feedback about your implementation to you, we have decided to split the pipeline into three parts. The first part will run our system tests on your implementation and part of your system tests on our implementation. You need to register these system tests in the SystemTestRegistration class in a function called 'registerSystemTestsReferenceImpl' in the SystemTestRegistration.kt file in the package systemtest. You can use this category for system tests for which you want to check the simulation behaviour of our reference implementation and to fix your system tests before including them in different parts of the pipeline. The second part will run your system tests for the validation process on our reference implementation and, if all tests pass, run these system tests on mutants of our reference implementation in which we have introduced bugs regarding the validation of the configuration files. This second part is only concerned with the validation process of the configuration files, and will therefore only result in possibly incorrect The third part will run your system tests for the simulation on our reference implementation and, if all tests pass, run these system tests on mutants of our reference implementation in which we have introduced bugs for the simulation of the scenario. The third part is only concerned with the simulation process itself, and thus will only result in the wrong log messages after the 'Simulation start' message (i.e. the validation process behaves exactly as in the reference implementation). You need to register them in the SystemTestRegistration class in a function called 'registerSystemTestsMutantSimulation' in the SystemTestRegistration.kt file in the package systemtest. As the last two parts are independent of each other, you should only register your system tests for one part, as validation tests will not find any bugs in the simulation and vice versa. Note: Make sure you update the registration of your system tests correctly, otherwise you will not receive any results for your system tests. By splitting the test pipeline into three separate parts, we also increase the number of runs, so you receive test results more frequently. Best, |
||||||||||||||||||||||
Office HoursWritten on 02.10.23 by Kallistos Weis Dear participants From today, we are offering daily office hours from 14:00 to 16:00 (excluding tomorrow, 03.10.). To attend the Office Hours, one member of your group can come to room 4.07 in E1.1 and ask questions. Best, |
||||||||||||||||||||||
Second Batch of Tests and Bug ChallengeWritten on 29.09.23 by Christian Hechtl Dear participants, From now on, all our tests are running against your implementation. Please note that we stop running the tests as soon as your server crashes 10 times (SERVER_FAIL or TIME_OUTS). If you think that one of your failing tests is actually correct, you can submit a bug challenge… Read more Dear participants, From now on, all our tests are running against your implementation. Please note that we stop running the tests as soon as your server crashes 10 times (SERVER_FAIL or TIME_OUTS). If you think that one of your failing tests is actually correct, you can submit a bug challenge for your team. To do so, you need to open an Issue in GitLab on your own project and tell your tutor to look at it. The issue needs to contain a link to the test in question and must contain a description of the problem. Also the issue needs to be clearly marked as a bug challenge issue. Provided you submit a correct bug challenge, you will get an additional test run on the server as well as the opportunity to submit more challenges on the same day. If it is a buggy test, you will not be able to submit a new challenge the same day, but you will get feedback on the bug of your test. Best, |
||||||||||||||||||||||
Config CreatorWritten on 28.09.23 by Christian Hechtl Dear participants, to make testing easier for you, Youssef has written a Config Creator that allows you to easily create configuration files for your tests. The Config Creator is linked under Information in the CMS. There will be also a brief explanation in the forum on how to use it… Read more Dear participants, to make testing easier for you, Youssef has written a Config Creator that allows you to easily create configuration files for your tests. The Config Creator is linked under Information in the CMS. There will be also a brief explanation in the forum on how to use it tomorrow. Best, |
||||||||||||||||||||||
Test Pipeline and Code ReviewWritten on 27.09.23 by Kallistos Weis Dear participants, From now on, we run a first set of tests on your implementation as well as your tests on our reference implementation. Dear participants, From now on, we run a first set of tests on your implementation as well as your tests on our reference implementation. As we only test your main branch, you have to make sure that you push a building version of your implementation to your main branch at least one hour before your On Friday, we will add a second set of tests to the three categories. Best, |
||||||||||||||||||||||
Design DefenseWritten on 19.09.23 by Christian Hechtl Dear participants, Wednesday, Thursday, and Friday this week, the design defense will take place as mandatory review sessions. You will be assigned a specific date and room by your tutor. Be at the corresponding room in time for this appointment. Dear participants, Wednesday, Thursday, and Friday this week, the design defense will take place as mandatory review sessions. You will be assigned a specific date and room by your tutor. Be at the corresponding room in time for this appointment. Please also note that, if possible, each group member should bring a laptop to view your design. In addition, each team member should have pens with them. Also, do not forget to bring your student ID card.
Best, |
||||||||||||||||||||||
Change of Requirements and Guest Lecture TomorrowWritten on 18.09.23 by Christian Hechtl Dear participants, The document which specifies the change of requirements for the group phase is now available in the CMS (see Materials). Please also remember the guest lecture "Testing in Practice" by Dr. Elmar Jürgens at 09:30am in the GHH. Best, |
||||||||||||||||||||||
Todays TutorialsWritten on 11.09.23 by Kallistos Weis Dear participants, We have reassigned the rooms for your tutorials this afternoon. Best, |
||||||||||||||||||||||
Entry Exam ResultsWritten on 08.09.23 by Christian Hechtl Dear participants, We have finished the correction of the Entry Exam. You can find the results on your personal status page in the CMS. Those who did not pass and want to receive more information about their Entry Exam, please write an eMail to: sopra@lists.se.cs.uni-saarland.de And a… Read more Dear participants, We have finished the correction of the Entry Exam. You can find the results on your personal status page in the CMS. Those who did not pass and want to receive more information about their Entry Exam, please write an eMail to: sopra@lists.se.cs.uni-saarland.de And a short reminder: Don't forget about the registration/withdrawal deadline in the LSF on Monday, September 11. If you have passed the Entry Exam but are not registered for the exam in the LSF, you cannot participate in the group phase. And also don't forget about signing up on our GitLab. Best, |
||||||||||||||||||||||
Entry ExamWritten on 07.09.23 (last change on 07.09.23) by Christian Hechtl Dear participants, Tomorrow, Friday, September 08, the entry exam takes place on-site at the campus. Since you are registered for the course in the CMS, you are automatically registered for the entry exam. (This is different from the exam registration in the LSF, which is possible and necessary… Read more Dear participants, Tomorrow, Friday, September 08, the entry exam takes place on-site at the campus. Since you are registered for the course in the CMS, you are automatically registered for the entry exam. (This is different from the exam registration in the LSF, which is possible and necessary for you to do until Monday, September 11). Bring your student ID card and a photo ID card (e.g., passport) to the entry exam. No aids are allowed. Use only document-proof pens (no pencils!). Red or green pens are not permitted. The tasks are formulated in English and German. You can provide your answers in either of both languages. The entry exam is going to take place in multiple lecture halls simultaneously. Admittance to the lecture halls is at 09:15; make sure to be in front of the assigned lecture hall on time. The assignment of participants to lecture halls was done according to the first letter of your surname (i.e., the surname used here in the CMS): First letter A-H: Günter-Hotz lecture hall (GHH), building E2.2 First letter I-R: HS I, building E2.5 First letter S-V: HS II, building E2.5 First letter W-Z: HS III, building E2.5 You can also see which lecture hall you have been assigned to on your personal status page in the CMS. In case of illness, please inform us immediately by e-mail to sopra@lists.se.cs.uni-saarland.de and submit a medical certificate as soon as possible. Good luck, and see you tomorrow! Best, |
||||||||||||||||||||||
Tutorial 6 movedWritten on 07.09.23 by Christian Hechtl Dear participants, Tutorial 6 will take place in Room 106 in E1 1 instead of Lecture hall 1 in E1 3. Best, |
||||||||||||||||||||||
Tutorial AssignmentWritten on 04.09.23 by Christian Hechtl Dear participants, The tutorials have been assigned. You can see which tutorial you have been assigned on your personal status page in the CMS. Best, |
||||||||||||||||||||||
Start of the Software Engineering LabWritten on 01.09.23 by Christian Hechtl Dear participants of the Software Engineering Lab, We have uploaded a document on organizational matters in the materials, which describes the schedule of this year's Software Engineering Lab in more detail. Please read this document carefully. The first lecture of the Software Engineering Lab… Read more Dear participants of the Software Engineering Lab, We have uploaded a document on organizational matters in the materials, which describes the schedule of this year's Software Engineering Lab in more detail. Please read this document carefully. The first lecture of the Software Engineering Lab will begin on Monday (Sep. 04) at 09:30 in the Günter-Hotz lecture hall (building E2.2). Best regards, |
In case of questions, please contact us via e-mail to: sopra@lists.se.cs.uni-saarland.de.
About the Software Engineering Lab
New: Passing the course "Programming 2" is a mandatory prerequisite for participation in the Software Engineering Lab!
The Chair of Software Engineering offers a Software Engineering Lab (SE Lab), formerly Software-Praktikum (SoPra), in the form of a basic block course during the lecture-free period, which addresses students currently enrolled in a Bachelor’s degree program majoring and minoring in computer science. The goal of the Software Engineering Lab is to develop a non-trivial software system in Kotlin, partly in team effort and partly in individual effort. Other characteristics of the Software Engineering Lab are:
-
Time period: 04.09.2023 – 20.10.2023
-
Duration: 7 weeks (daily Monday to Friday)
-
The Software Engineering Lab consists of three phases:
-
Exercise phase (~1 week): daily lectures (beginning at 09:30) and exercises in the afternoon. At the end of the first week, on Friday, 08.09.2023, at 09:15 an entry exam will take place. Only participants that pass the entry exam will be admitted to the group phase.
-
Group phase (~4 weeks): design, implementation, and testing of a substantial software system in a team effort (in teams of five to eight students). Only participants that have passed the exercise phase are admitted to the group phase.
During the group phase, compulsory attendance is required between 10:00 and 17:00 (at days with lectures between 11:00 and 17:00). There will be three additional appointments between 09:00 and 18:00.
In exceptional cases, in which you are not able to fulfill the compulsory attendance on single days of the group phase, please inform your tutor during the course. We then will take a hardship decision about the attendance for individual days, which may also be dependent on your project progress, if necessary.
If a group fulfills all requirements for passing the group phase, we will waive the compulsory attendance for this group. -
Individual phase (2 weeks): design, implementation, and testing of a smaller software system or extension to an existing software system (e.g., from the group phase) in an individual effort. Only participants that have passed the group phase will be admitted to the individual phase.
-
-
More details about the time slots and dates of the lectures and the concrete temporal sequence of the Software Engineering Lab are available in the schedule presumably in the end of July.
The Software Engineering Lab will take place on-site at the campus.
Upon registration in the CMS, you will be asked for your preferred language (English or German). We try to use this information for the tutorial assignment in the exercise phase, if possible (but without guarantee; the default language is English). Your decision in the CMS helps us to prepare the course.
We will upload a file covering organizational matters in the week before the SE Lab starts, in which we provide further information on the schedule of the course.
Prerequisites
Passing the course "Programming 2" is a mandatory prerequisite for participation in the Software Engineering Lab!
Participation in the Software Engineering Lab requires programming skills as taught in the courses Programming 1 and Programming 2.
Students are required to bring their own laptops.
Registration
Registration for the Software Engineering Lab here in the CMS is possible from 17.07.2023.
Two registrations are necessary for participation in the Software Engineering Lab:
-
You have to register here in the CMS by 04.09.2023.
-
You have to register at your examinations office by 11.09.2023 (for most degree programs in computer science, this is possible via the LSF; note that the course is sometimes called ‘Softwaredesignpraktikum’ there). There you can also withdraw your registration until 11.09.2023. The LSF registration opens on 21.08.2023 and is only possible after a passing grade for the course "Programming 2" has been entered in your LSF records.
For students who cannot register in the LSF because their course of studies does not use the LSF: You have to provide a certificate to us that confirms that you have passed "Programming 2", within the time period of the LSF registration.
Contents
- Software design
- Software testing
- Team work
- Debugging
Literature
- Software Engineering. I. Sommerville. Addison-Wesley, 2004.
- Software Engineering: A Practioner's Approach. R. Pressman. McGraw Hill Text, 2001.
- Using UML: Software Engineering with Objects and Components. P. Stevens, R. Pooley. Addison-Wesley, 1999.
- UML Distilled. M. Fowler, K. Scott. Addison-Wesley, 2000.
- Objects, Components and Frameworks with UML, D. D'Souza, A. Wills. Addison-Wesley, 1999.
- Designing Object-Oriented Software. R. Wirfs-Brock, B. Wilkerson, L. Wiener. Prentice Hall, 1990.
- Design Patterns. Elements of Reusable Object-Oriented Software. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Addison Wesley, 1995.
- Pattern-Oriented Software Architecture: A System of Patterns. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Wiley, 1996.
- Head First Design Patterns. E. Freeman, E. Robson, K. Sierra, B. Bates. O’Reilly, 2004.
- Software Architecture: Perspectives on an Emerging Discipline. M. Shaw, D. Garlan. Prentice-Hall, 1996.
- Refactoring: Improving the Design of Existing Code. M. Fowler, K. Beck, W. Opdyke. Addison-Wesley, 1999.
- Software Testing and Analysis: Process, Principles and Techniques. M. Pezze. Wiley. 2007.