581260 Software engineering Lab
Principal theme | Prerequisite knowledge | Approaches the learning objectives | Reaches the learning objectives | Deepens the learning objectives |
---|---|---|---|---|
Software requirements, design, implementation, and validation | • Basics of software design (Software modelling) • The work phases and methods of the requirement specification process • Requirements and use cases V • Prototypes • Basics of testing • Inspections (The five above: Software engineering) |
• Can produce the requirements and use cases the client wants for the software being produced. • Can make a user interface prototype at the requirement specification stag. • Can create and specify such a software design based on the requirement specification that the software can be implemented based on the design. • Can make a testing plan for the software. |
• Can model and specify the requirements of mid-range software and their architecture. • Actively participate in inspection sessions in accordance with their role, while understanding their significance and work routines. • Can utilise the libraries and special features of the programming language chosen for the job in design, implementation and testing. • Can create the test cases in accordance with the testing plan, to verify and validate the implementation of the software specifications. |
• Can describe the requirements unambiguously with some suitable formal description method. • Can use suitable design models for the software. • Can use the glass box testing methods to complement testing. Approach as near 100% of the branch coverage in glass box testing as possible. |
Software tools and work environments | • The basic tasks in software process models (Software engineering) | • Can validly select the software tools suitable for each stage of a software engineering project. | • Can use the selected software tools. • Make their own and others' work more efficient through learning advanced use of the tools. |
• Can analyse and select the tools that are the most apprpriate for the project out of a group of tools. |
Software project management | • The basic tasks of software process models. • Planning the schedule of a software engineering project. • The basics of assessing software and evaluating the results. (All the above: Software engineering) |
• Can keep a log of working hours and log the hours into the measuring system regularly. • Can take responsibility for the management of a special area as agreed upon at the beginning of the project, such as project management or being in charge of code-writing. • Can document their work and results with enough detail to use the document as an aid in maintenance. |
• Participate in drawing up the project plan. The plan will include at least extent and work assessments of the project, the schedule, available resources, and risk management. • Can select suitable metrics for each stage of the software engineering project. • Participate actively in the team's work, supporting both the team and its members in all things related to the project. • Make sure that the measurements for the whole project are stored in the measurement system. |
• Can assess the extent and costs of a project with the help of several different assessment methods. • Can evaluate the maturity level of a process used in a project, and can present suggestions for improving the process. |