Basics of Software Engineering 1
Rakennetyyppi: | Opintojakso |
---|---|
Koodi: | IT00BS79 |
OPS: | IT 2025 |
Taso: | Insinööri (AMK) |
Laajuus: | 15 op |
Vastuuopettaja: | Dams, Johan |
Opetuskieli: | Englanti |
Osaamistavoitteet
After completing the course, students will learn key concepts of the software development process as well as how to develop software professionally and take part in software development projects. Students should also be able to effectively apply software development methodologies such as Waterfall, Spiral, Rational Unified Process (RUP), Agile methodologies such as Scrum, Kanban, Extreme Programming (EP) and selecting the most appropriate approach based on project requirements. They will gain proficiency in analyzing, modelling, designing, implementing, testing, and maintaining software systems using software development life cycle principles and writing software specification reports. Additionally, they will be skilled in using tools like Git, JIRA, and CI/CD pipelines for version control, collaboration, and deployment. Students will also develop the ability to gather and analyze requirements, manage risks, and adapt to scope changes in dynamic project environments. Strong teamwork, communication, and problem-solving skills will enable them to collaborate effectively with stakeholders and navigate complex challenges. Furthermore, they will be equipped to incorporate modern practices such as DevOps, test-driven development, and different software architectures into their development workflows.
Sisältö
Software development process key ideas and concepts, requirements analysis, modelling tools like UML diagrams, project planning, software specification report, software development methodologies such as waterfall, Spiral, RUP, Agile methodologies like Scrum, Kanban, EP, SDLC principles, analysis and design, implementation, testing, maintenance, version control, Git, JIRA, CI/CD pipelines, requirement analysis, risk management, scope adaptation, teamwork, communication, problem-solving, DevOps, test-driven development, software architectures.