1/20
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Software Engineering
a collection of techniques, methodologies and tools that help with the production of a high quality software system developed
within a given budget
meeting a given deadline
while change occurs
Techniques
Formal procedure for producing results using some well-defined methods
Methodologies
Collection of techniques across software development and unified by a philosophical approach
Tools
Instruments or automated systems to accomplish a task
Software Engineering Lifecycle
Requirement Analysis → Design → Implementation → Testing → Evolution
Software processes all include
Specification
Design and implications
Validation
Evolution
Two types of products
Generic and Customized
Software Process Model
Waterfall Model
Incremental
Iterative
Agile
Reuse-oriented
Prototyping
Spiral
Formal Transportation
Waterfall Model
Each phase must be completed before the next phase begins
Incremental Development
Implementing new functionality in small chunks
Iterative Development
adding new functionality repeatedly in a cyclic manner
Two approaches for reducing the cost of work
Change anticipation and change tolerance
Difference change anticipation and change tolerance
Change anticipation - the software process includes activities that anticipate changes such as a prototype system to show the consumer what to expect
Change tolerance - process designed so it can accommodate changes cheaply, usually through incremental development
Two ways of coping with change
System prototyping and incremental delivery
Steps of the Rational Unified Process
Inception - establishes business case for system
Elaboration - establish understanding of problem and system architecture
Construction - systems design, development and testing
Transition - deploy system in operating environment
Agile Development
System is developed through small, frequent, incremental releases.
Requirements include relatively simple customer stories, easy to modify.
Complete requirements document is usually not created.
Customers are continuously engaged, and their representatives often take part in the developmen
Scrum
Agile development process that includes a product owner, scrum master and scrum team. It also composes of sprints.
Scrum Timeline
Product backlog → Sprint backlog/planning→ Sprint → Sprint Review → Sprint Retrospective
Three questions everyone answers in Scrum daily meeting
What did you do yesterday
What will you do today
Is anything in your way
What’re the three scrum artifacts?
Product backlog
Sprint backlog
Burndown chart
What’s the difference between the scrum artifacts
Product backlog - The requirements, a list of all desired work
Sprint backlog - Tasks from the product backlog that will be completed during the sprint
Burndown chart - Chart that says how long each task will take to complete (in days)