Material
- Aula ES-01
- Logística
- Capítulo 1 de Sommerville
- Slides
- Software Engineering Definitions (vídeo, companion)
- Software Development as a Formalization Process (vídeo, companion)
- Software as a Social System (vídeo, companion)
- Software Development as a Learning Process (vídeo, companion)
- Software as Art and Engineering (vídeo, companion)
- Quality in Software Engineering (vídeo, companion)
- Aula ES-02
- Secções 22.1, 23.1, 23.2 23.3, 23.4, 23.5-23.5.1 e 3.3 de Sommerville
- Complexity in Software Engineering (vídeo, companion, slides)
- Project Management (vídeo, companion)
- Risk Management (vídeo, companion, slides)
- Project Planning (video, companion, slides)
- Project Estimation (vídeo, companion, slides)
- Scrum (vídeo, companion, slides, the Scrum Guide and Scrum Manual)
- Aula ES-03
- Git
- Basics (vídeo, slides)
- Branching and Merging (vídeo, Git Branching - Branches in a Nutshell, Git Branching - Basic Branching and Merging)
- Pull Request (vídeo, Understanding the GitHub flow)
- Review a Pull Request (vídeo, Reviewing proposed changes in a pull request, Checking out pull requests locally)
- Resolve conflicts in IntelliJ
- Verification and Validation of Software
- Secção de introdução do capítulo 8 de Sommerville
- Aula ES-04
- Reviews and Inspections (Sommerville 24.3, vídeo, Companion Reviews and Inspections, How to do a code review)
- White and Black Box Testing (vídeo, slides, Companion Back and White-Box Testing)
- Test coverage (Sommerville 8.1.2, vídeo on White box coverage, slides on White box coverage, vídeo on Black box coverage, slides on Black box coverage, Path Testing, Cyclomatic Complexity)
- Coverage Tool
- Aula ES-05
- The Testing Process (Sommerville 8 introdução, vídeo, slides, Companion The Testing Process)
- Unit Testing and Mocks (Sommerville 8.1.1, vídeo, slides, Spock Interaction-based testing)
- Mocks are not Stubs (vídeo)
- Aula ES-06
- Aula ES-07
- Test-first and Incomplete Specification (Sommerville 3.2.3. Vídeo and Slides. Design-by-Contract. Companion Test-first and Incomplete Specification)
- Patterns for System Testing (Vídeo, slides)
- Testing, a Pervasive Activity
- Quality Assurance in Production (vídeo)
- Aula ES-08 (vídeo)
- Secção 7.1 de Sommerville.
- What is design? (slides, vídeo)
- Design as Structure (Vídeos on Cohesion and Coupling, Interfaces and Abstractions, Design Principles. Slides on Cohesion and Coupling, Interfaces and Abstractions, Design Principles. Design Principles, SOLID Principles and Law of Demeter. Design as Structure and Interfaces and Abstractions in the companion)
- Design as Process (Vídeo, Slides, Design as Process in the companion)
- Aula ES-09 (vídeo)
- Secções 3.2.2, 8.2 e 9.3.3 de Sommerville.
- Refactoring (slides, vídeo, Refactoring a first example, Refactoring a javascript video store, and Workflows of Refactoring. Refactoring in the Companion).
- Refactoring - the Export and Import example of the Quiz Tutor application
- Secções 3.2.2, 8.2 e 9.3.3 de Sommerville.
- Aula ES-10 (vídeo)
- Introduction of Chapter 15 and Sections 15.1, 15.2, and 7.2 of Sommerville's.
- Reuse (vídeo, slides, Reuse in the Companion).
- JUnit Framework (slides)
- Design (vídeo, A UML Testing Framework by Martin Fowler).
- Construction (vídeo, JUnit A Cook's Tour by Kent Beck and Erich Gamma).
- Spring Boot Framework (vídeo, slides).
- Aula ES-11 (vídeo)
- Aula ES-12 (vídeo)
- Capítulos 1, 2, 9 de PEAA (Patterns of Enterprise Application Architecture)
- Layering (video, slides)
- Domain Logic Patterns (video, slides, Framework Design Guidelines: Domain Logic Patterns)
- Project Domain Logic Organization
- Aula ES-13 (vídeo)
- Capítulos 3 (Architectural Patterns), 7, 10 e 15 de PEAA
- Distribution Patterns (vídeo, slides, in the project)
- Data Source Architectural Patterns (vídeo, slides, in the project, Framework Design Guidelines: Data Source Architectural Patterns)
- Aula ES-14 (vídeo)
- Aula ES-15 (vídeo)
- Aula ES-16 (vídeo)
- Aula ES-17 (vídeo)
- Aula ES-18 (vídeo)
- Software Maintainability with Better Code Hub software (vídeo 1, vídeo 2, slides)
- Aula ES -19 (vídeo)
- Software Implementation (vídeo, slides, The Processor and The Programmer and Living Code Base in the Companion)
- Code Smells by Jeff Atwood (vídeo, slides)
- Defensive Programming. Chapter 8 de Code Complete (vídeo, slides)
- Replacing Throwing Exceptions with Notification in Validations by Martin Fowler (vídeo)
- Quiz answer optimization (part I, part II, part III, part IV, part V)
- Aula ES-20 (vídeo)
- Capítulo 4 de Sommerville. (vídeo, slides, No Man's Land, A Sea of Description Languages and Solutions in the Problem Space in the Companion)
- Volere Requirements Specification Template
- Aula ES-21 (vídeo)
- Secções 22.2 e 22.3 de Sommerville. (vídeo, slides, Process Management in the Companion)
- Product Organization Pattern Language: Cross-Functional Team pattern, Team Sprint pattern, Swarming: One-Piece Continuous Flow pattern, Stable Teams pattern, Collocated Team pattern, Mitosis pattern, ScrumMaster Incognito pattern, Illegitimus Non Interruptus pattern, Birds of a Feather pattern, Remove the Shade pattern, Organizational Sprint Pulse pattern, Scrum of Scrums pattern (vídeo)
- What Google Learned From Its Quest to Build the Perfect Team (optional)
- Aula ES-22 (vídeo)
- Secção 25.2 de Sommerville. (vídeo I, vídeo II, slides, System Build no Companion)
- Build Patterns of Software Configuration Management Patterns: Effective Teamwork, Practical Integration (vídeo, slides)
- Aula ES-23 (vídeo)
- Secção 25.1 de Sommerville. (vídeo, slides, Software Configuration no Companion)
- Secção 25.1 de Sommerville. (vídeo, slides, Software Configuration no Companion)
- Aula ES-24 (vídeo)
- Capítulo 2 e [3-3.2.1[ de Sommerville.
- Stages, Activities, Products, and Milestones (vídeo, slides) and Process Models (vídeo, slides) in the Companion.
- Extreme Programming. (vídeo, slides)