Software systems are typically built over a longer period of time with diverse teams (in terms of organizational roles and skill sets), as well as with constantly changing requirements. This results in various challenges with respect to engineering and project management. In addition, the wishes of a client are not always easy to translate to a set of functional requirements for a software system. And various non-functional requirements, such as, performance, maintenance costs, and reliability of the software system, only come into real focus once a system has been deployed in the real-world environment.
In the course “Software Engineering,” we study techniques for managing software development processes and for engineering high-quality software systems. These skills are honed in the context of the real-world corporate environment provided by LUdev, a software house fully ran by students. Students join LUdev in teams, which are tasked to complete a real-world software project for an actual client. Completing this project requires more than just programing skills, as the team is also in charge of project management, version management, client communication, collaborations within LUdev (involving students from other courses) and product deployment. LUdev facilitates these acivities with infrastructure, tutorials, manuals and technical support, so student teams can be as productive as possible (for previous results see the website www.ludev.nl).
Development processes and methodology
Software project management
Requirement elicitation and analysis
System modeling using UML
Quality Assurance & Testing
Programming and algorithmic skills are required to participate in the course.
Managing the software development process using agile approaches
Learning the differences between various software development methodologies
Practical experience with project management and team-based software development
Modeling the design of software systems and business processes in UML
Applying version control, testing and quality metrics to software under development
Using modern software development tools (IDEs, version control, continuous integration, etc)
De meest recente roosters zijn te vinden op de Studenten-website:
Workshops on homework assignments
A project on a real-world software development project inside the virtual company LUdev
Due to the project-based nature of the course, presence during the first lecture and the evaluation meetings is mandatory. Evaluation meetings are planned during scheduled lecture times. The meeting schedule will be made available on Brightspace.
The final grade consists of the project grade, amended with bonus points for individual team members, based on their participation in the project.
The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.
Book (optional): H. van Vliet, Software Engineering: Principles and Practice, ISBN: 9780470031469
Sheets and practice materials are made available on Brightspace
In MyTimetable kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je in uSis staat ingeschreven, worden automatisch in je rooster getoond. Daarnaast kun je My Timetable gemakkelijk koppelen aan een agenda-app op je telefoon en worden roosterwijzigingen automatisch in je agenda doorgevoerd; bovendien ontvang je desgewenst per e-mail een notificatie van de wijziging.
Voor meer informatie over Brightspace kun je op deze link klikken om de handleidingen van de universiteit te bekijken. Bij overige vragen of problemen kan contact opgenomen worden met de helpdesk van de universiteit Leiden.
Onderwijscoördinator Informatica, Riet Derogee.