News

Results for Individual Phase

Written 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.
If you have any questions regarding your evaluation, please send an e-mail to: Read more

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.
If you have any questions regarding your evaluation, please send an e-mail to: sopra@lists.se.cs.uni-saarland.de.

Best,
The SE-Lab team

Submission Reminder

Written 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.
You have to submit the update even if you did not change anything.

Best,
Your SE-Lab Team

End of Individual Phase

Written 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.
That means, our tutors will be available… Read more

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.
That means, our tutors will be available for questions in Room 4.07 in E1.1 from 18:00 to 23:59 CEST in addition to the regular Office Hour from 14:00 to 16:00 CEST.

We wish you good luck for the last hours of the individual phase!

Best,
The SE-Lab Team

Office Hours Friday

Written 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,
the SE-Lab team

Second Set of Tests and Mutants

Written 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.
As a reminder, the pipelines are divided into two parts: 
- The first part executes our tests on your implementation and all your tests (registered in the… Read more

Dear Participants,

We have released the second set of tests.

We have also released mutants of our reference implementation.
As a reminder, the pipelines are divided into two parts: 
- The first part executes our tests on your implementation and all your tests (registered in the 'registerSystemTestsReferenceImpl' function) on our reference implementation.
- The second part runs your tests (registered in the 'registerSystemTestsMutantSimulation' function) on our reference implementation and (if they pass our reference implementation) on the 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,
The SE-Lab Team

Office Hours this Week

Written 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.

Time Place
16.10.2023 14:00 - 16:00 407 E1 1
17.10.2023 10:00 - 12:00 2.06 E1… Read more

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.

Time Place
16.10.2023 14:00 - 16:00 407 E1 1
17.10.2023 10:00 - 12:00 2.06 E1 1
17.10.2023 14:00 - 16:00 407 E1 1
18.10.2023 10:00 - 12:00 407 E1 1
18.10.2023 14:00 - 16:00 407 E1 1
19.10.2023 10:00 - 12:00 407 E1 1
19.10.2023 14:00 - 16:00 407 E1 1

 

Best,
the SE-Lab team

Test Pipeline Release

Written 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).
We have three categories of tests: validation tests,… Read more

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).
We have three categories of tests: validation tests, component tests, and full tests.
The validation tests check how you handle correct and incorrect configuration files,
component tests check the behavior of your implementation for specific parts of the simulation, and 
full tests check the behavior of your implementation for the whole simulation.
Please note that we only test changes that you have pushed to your main branch.
Please also note that we stop running the tests as soon as your server crashes 10 times (SERVER_FAIL or TIME_OUTS).

On Monday, we will release a second set of tests to the three categories.
There will be no release of another set of tests after Monday.
Additionally starting on Monday, we run your tests (registered in the function 'registerSystemTestsMutantSimulation' in the SystemTestRegistration.kt file) against mutants of the reference implementation to check whether your tests are able to detect the introduced faults.
However, we will only run your tests on our mutants, if all tests registered in this function succeed on our reference implementation.

Best, 
Your SE-Lab Team

Feedback for the Design Draft

Written 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.
Read more

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.
Otherwise, you will find the feedback for your project description below the submission of your project description.

Best regards,
Your SE-Lab Team

Update UML Classdiagram

Written 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.
You only have to include your newly added classes and the existing classes you modify, and in these only include the properties and methods you change or add.

We are sorry for the inconvenience.

Best regards,
Your SE-Lab team

Course Evaluation

Written 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.
There are different links: one to evaluate the course, and one to evaluate the tutors. Please note that the evaluation will end on 16.10.2023.

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.
There are different links: one to evaluate the course, and one to evaluate the tutors. Please note that the evaluation will end on 16.10.2023.

We especially appreciate constructive feedback in the free text fields.

Best,
The SE-Lab team

Specification Individual Phase Clarifications

Written 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 Phase

Written on 07.10.23 by Christian Hechtl

Dear participants,

We have completed the evaluation of the group phase.
You can find the results on your personal status page in the CMS.

On Monday, the individual phase of this year's SE Lab starts.
There will be a lecture on Monday morning at 9:30, in which the individual phase will be… Read more

Dear participants,

We have completed the evaluation of the group phase.
You can find the results on your personal status page in the CMS.

On Monday, the individual phase of this year's SE Lab starts.
There will be a lecture on Monday morning at 9:30, in which the individual phase will be presented.

Best,
The SE-Lab team

End of the Group Phase - Extended Office Hour and More Runs

Written 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,
The SE-Lab team

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,
the SE-Lab team

Important: Pipeline Updates

Written 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
log messages before the 'Simulation start' message (i.e. the simulation behaves exactly as in the reference implementation). You need to register them in the SystemTestRegistration class in a function called 'registerSystemTestsMutantValidation' in the SystemTestRegistration.kt file in the package systemtest.

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.
The results of each part will be sent to you separately via email.

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.
You will be able to trigger the pipeline for the first part by pushing to the 'main' branch of your repository about every 2 hours.
You will be able to trigger the pipeline for the second part by pushing to the 'main' branch of your repository about every 8 hours.
You will be able to trigger the pipeline for the third part by pushing to the 'main' branch of your repository about every 8 hours.

Best,
The SE-Lab Team

Office Hours

Written 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,
The SE-Lab team

Second Batch of Tests and Bug Challenge

Written 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,
The SE-Lab team

Config Creator

Written 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,
the SE-Lab team

Test Pipeline and Code Review

Written 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. 
We have three categories of tests: validation tests, component tests, and full tests.
The validation tests check how you handle correct and incorrect… Read more

Dear participants,

From now on, we run a first set of tests on your implementation as well as your tests on our reference implementation. 
We have three categories of tests: validation tests, component tests, and full tests.
The validation tests check how you handle correct and incorrect configuration files,
component tests check the behavior of your implementation for specific parts of the simulation, and 
full tests check the behavior of your implementation for the whole simulation.
Please note that we only test changes that you have pushed to your main branch.
Please also note that we stop running the tests as soon as your server crashes 10 times (SERVER_FAIL or TIME_OUTS).

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
code review to give your reviewer the chance to check the status of your implementation.

On Friday, we will add a second set of tests to the three categories.
There will be no release of another set of tests after this Friday.
Additionally starting on Friday, we run your tests against mutants of the reference implementation to check
whether your tests are able to detect the introduced faults.
However, we will only run your tests on our mutants, if all of your tests succeed on our reference implementation.

Best,
The SE-Lab team

Design Defense

Written 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.
In case of illness, as always, please inform your… Read more

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.
In case of illness, as always, please inform your tutor immediately and submit a medical certificate as soon as possible. We will then try to find an individual catch-up date for the affected individuals afterwards, based on case-by-case decisions.

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.

It is possible that individual group members will be re-examined in the evening on the day of your design defense. This will be communicated to the persons concerned by the reviewer after the design defense.

Also, please note that no later than one hour before your assigned design-defense appointment, all required files (i.e., class diagram, three sequence diagrams, state diagram, and the time and work plan) must be in PDF format in the group repository and tagged with the tag specified in the specification document.

 

Best,
The SE-Lab team

Change of Requirements and Guest Lecture Tomorrow

Written 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,
The SE-Lab team

Todays Tutorials

Written on 11.09.23 by Kallistos Weis

Dear participants,

We have reassigned the rooms for your tutorials this afternoon.
Please check your tutorial room on your personal page.

Best, 
The SE Lab Team
 

Entry Exam Results

Written 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,
The SE-Lab Team

Entry Exam

Written 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,
The SE-Lab team

Tutorial 6 moved

Written 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,
the SE Lab team

Tutorial Assignment

Written 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,
The SE-Lab Team

Start of the Software Engineering Lab

Written 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,
The SE-Lab team

Show all

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:

  1. You have to register here in the CMS by 04.09.2023.

  2. 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.
Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.