School / Prep
ENSEIRB-MATMECA
Internal code
EI7IT233
Description
The aim of this course is to present modern methods and tools for software development. Software engineering can be characterized as the application of engineering principles to produce reliable, cost-effective software on real machines. Software engineering is not just about development costs, but also about the costs of maintenance and use throughout the life of the software. We will also look at problems specific to large systems (over 1,000,000 lines of code) and generated by teamwork, which require methodological approaches to software design, development and evolution.
The course consists of three parts, taught by different lecturers:
Agile development (A. Le Houedec)
Software engineering (P. Galvao, M. Aune)
Software specifications (E. Girard Smith, F. Solliec)
Skills
C3. Level 2C4. Level 3C5. Level 2C6. Level 2C7. Level 2C8. Level 2C9. Level 2
Teaching hours
- CIIntegrated Courses12h
- CMLectures1,33h
- TDTutorial6h
Syllabus
Part 1. Agile development (Integrated course 2x2h)
Presentation of agile concepts
Workshop on the agile manifesto
Presentation of the Scrum method: roles, events and artifacts
Focus on the role of the Product Owner and his main tool: the Product Backlog
Workshops on the Backlog and the User Stories that make it up:
Writing User Stories
Axes for breaking down User Stories
Part 2. Software engineering (P. Galvao/M. Aune, Integrated course, 5x2h)
Overview of an IT project
Overview of different production methods
Different types of projects and roles within the team
Introduction to modeling languages
Presentation of the main concerns that will be detailed in the tutorials
Specification and technical architecture of the solution
Presentation of the design phase
Expectations for the technical architecture of an application
Modeling exercises
Construction of the solution
Exercise on modularity
Application architecture and modeling techniques
Implementation, awareness of code quality and functional understanding
Exercise on unit testing
Solution testing
Test pyramid
Exercise on test granularity
Functional and non-functional testing
Deployment
Part 3. Software specifications (E. Girard Smith, F. Solliec)
Assessment of knowledge
Initial assessment / Main session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Final inspection | Written | 120 | 0.8 | without document without calculator | ||
Continuous control | Continuous control | 0.2 |
Second chance / Catch-up session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Final test | Written | 120 | 0.8 | without document without calculator | ||
Continuous control | Continuous control | 0.2 |