Exam 2 (prep)
- Due Oct 22, 2021 by 11am
- Points 0
This is just a placeholder for Exam 2. Please bring your laptops on Friday; I'll give the exam over Canvas (but in person!).
The exam will cover the following topics:
- design
- types of digrams (e.g., sequence, component, architectural)
- software for making diagrams
- implementation
- picking stories
- time estimation
- points, tshirt sizing, pizza sizing
- why it's useful
- software for Kanban, Scrum
- comments
- style guidelines
- source code management (SCM)
- version controls systems (VCS)
- git, subversion (SVN), mecurial (hg), CVS, a couple others
- distributed VCSs vs. centralized ones
- Github/Bitbucket/GitLab, etc. vs. git
- regularly updated binary files shouldn't be tracked
- structure of a VCS directory
- pull requests
- writing good change lists (CLs)
- making a pull request on GitHub
- code reviews
- writing good review comments
- doing a code review on GitHub (on a pull request)
- branching
- how to branch
- git-flow vs. github-flow (for organizing and naming branches)
- git
- basics (clone, add, commit, push)
- branch / checkout
- .gitignore
- version controls systems (VCS)
- dependency management & build systems
- maven, ant, etc. etc. (focus on maven)
- Maven
- build JavaDocs
- run tests with JUnit 5 (see below)
- testing
- unit tests, integration tests, API tests, GUI tests
- JUnit 5 for unit and integration tests
- postman (and similar) for API tests
- Selenium, TestFX (and similar) for GUI tests
- Test Driving Development (TDD)
- continuous integration
- setting up on GitHub
- unit tests, integration tests, API tests, GUI tests
- deployment
- configuration settings & sensitive data (keeping them out of the repository)
- version conventions
- deploying a software system
- front end & self-contained software
- self-hosted (desktop, web, some browser extensions)
- store-hosted (most browser extensions, mobile apps)
- server side
- SaaS
- physical server / virtual private server (VPS)
- containers (e.g., Docker)
- on physical server/VPS or through a SaaS
- serverless (e.g., using AWS Lambda functions)
- front end & self-contained software
We'll go over the question styles in class on Wednesday.