Verified Solution
Name some ways VCS systems help in software development.
- Keep records of changes
- Allow collaborative development
- Know who made changes to what
- Revert changes
- Build/release management
Centralized VCS
- Commit directly to remote
- Server has main copy
- Ex: Subversion
Distributed VCS
- Commit locally, push and pull to remotes
- No one has main copy
- Ex: Git
What are the advantage of DVCS over Centralized VCS?
- Can commit locally and push once you're ready
- Don't need internet connection to commit
GitHub Workflow
(0. Fork if not part of organization)
1. Clone
2. Branch
3. Commit
4. Pull in branch you want to merge to
5. Push to origin (GitHub)
6. Make pull request/get feedback
7. Merge pull request
8. Delete branch
Git Branch
Split in commit history, lets you work in parallel
Git Fork
Copy of someone else's repo on GitHub
Git Clone
Get local copy of repo
Git Origin
Default remote (GitHub in our case)
test
bj ;P
Git Master
Main branch
Git HEAD
, Latest commit of current branch
4 Aspects of a Dependable System
Availability
Reliability
Safety
Security
(R ASS)
Software Quality Measurements
1. Sufficiency
2. Robustness
3. Reliability
4. Flexibility
5. Efficiency
6. Scalability
7. Re-usability
8. Security
Be able to read, interpret, modify and create UML use-case diagrams
Use case diagrams are a representation of a user's interaction with the system. Similar
to user stories but more formal and complex.
Includes a summary of usage requirements, from the users point of view, includes the
basic course of events as well as alternative paths and preconditions and post
conditions.
Reliability
Measure of the average amount of time between failures
Efficiency
How well a component satisfies
speed or storage requirements
Scalability
Measure of the ability to use the component as scope increases
Flexibility
Measure of how adaptable to 'reasonable' changes in a component is
Reusability
How usable a component is in
related applications without modification
Robustness
How well the component will
recover from anomalous events
Functional Requirement