1/36
Flashcards for Software Engineering Lecture Notes
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Task Set
Defines the actual work to be done to accomplish the objectives of a software engineering action, including a list of tasks, work products, and quality assurance filters.
Process Pattern
Describes a process-related problem encountered during software engineering and suggests proven solutions.
Stage Patterns
Defines a problem associated with a framework activity for the process.
Task Patterns
Defines a problem associated with a software engineering action or work task.
Phase Patterns
Define the sequence of framework activities that occur within the process.
SCAMPI (Standard CMMI Assessment Method for Process Improvement)
Provides a five-step process assessment model that incorporates initiating, diagnosing, establishing, acting, and learning phases.
CBA IPI (CMM-Based Appraisal for Internal Process Improvement)
Provides a diagnostic technique for assessing the relative maturity of a software organization using the SEI CMM.
SPICE (ISO/IEC15504)
Defines a set of requirements for software process assessment to assist organizations in developing an objective evaluation of the efficacy of any defined software process.
ISO 9001:2000 for Software
A generic standard applicable to any organization wanting to improve the overall quality of their products, systems, or services, applicable to software organizations.
Software Process
A structured set of activities required to develop a software system.
Software Process Model
An abstract representation of a process presenting a description from a particular perspective.
Plan-driven Processes
Models where all process activities are planned in advance, and progress is measured against this plan.
Agile Processes
Process planning is incremental, making it easier to change the process to reflect changing customer requirements.
Prescriptive Models
Process models that advocate an orderly approach to software engineering.
Waterfall Model
Plan-driven model with separate phases of specification and development, heavily oriented toward documentation.
Incremental Model
A modification of the waterfall model where the project is divided into components developed separately and incrementally. where requirements are divided into multiple standalone modules of the software development cycle.
Spiral Model
A model where the process is represented as a spiral with loops chosen based on requirements, explicitly assessing and resolving risks.
Rational Unified Process (RUP)
An agile software development methodology that splits the project life cycle into four phases: inception, elaboration, construction, and transition.
Planning (PSP)
The activity isolates requirements and develops both size and resource estimates, with a defect estimate.
Team Software Process (TSP)
Build self-directed teams that plan and track their work, establish goals, and own their processes and plans.
Chief Programmer Team
A super chief programmer can divide a system into multiple components, small chief-programming teams can develop each component
Agile Methodologies
Family of software development methodologies that produce software in short iterations and allow for greater changes in design.
Short releases and iteration
Divide the work into small pieces. Release the work as often as possible
Change
Assumes that the requirements and environment will change
Agile Development
Driven by customer descriptions, recognizes short-lived plans, develops software iteratively with a focus on construction, and delivers multiple software increments, adapting to changes
Agility Principle
Satisfy the customer through early and continuous delivery of valuable software
Extreme Programming (XP)
One of the first and better-known Agile development methodologies.
Core values of XP
Frequent communication between team members and with customers. Simplicity in design and code. Feedback at many different levels. Courage to implement hard but necessary decisions.
Planning
Quick determination of features for next release. Try to get a working system quickly
Test-Driven Development
Ensure that testing is done continuously. Unit test. TDD acceptance testing
Design Improvement
Remove duplication, improve communication, simplify or add flexibility
Collective ownership
Establish ownership of code of whole team
On-site customer
include a real customer on the team
The Crystal Family of Methodologies
Is an agile software development methodology that cannot be adequate for all projects, and that the methodology to be adapted to the project.
Properties Of Crystal Clear
The 7 Properties of Crystal Clear: Written specs are not enough, Feedback early, feedback often.
Agile Unified Process
Iteration addresses Modeling, Implementation, Testing, Deployment, Configuration and project management, Environment management.
Kanban
It means billboard or visual board in Japanese. It is Derived from Toyota Production Systems.