1/37
Exam 1
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
How and why Waterfall and Agile paradigms differ
Waterfall paradigm is an incremental model, for this to work requirements must be well known in advance and not really change much
Agile paradigms have iterative cycles , it knows plans can be short lived and change as requirements do
what type of paradigm is this?
an evolutionary agile model, specifically extreme programming
What type of paradigm is this?
a waterfall paradigm
What classes of problems cannot be
avoided, and give some examples from those classes
??
Having well-defined ______ clarifies the scope of the work (reduces complexity) that will be required for a project
requirements
We need to avoid ______. Everyone always wants more, but we must be disciplined about what work we will do and in what order
scope creep
What are the generic framework activites?
Communication
Planning
Modeling
Analysis of requirements
Design
Construction
Code generation
Testing
Deployment
What is this model showing?
Process Flow
What model is this?
The Incremental Model
What model is this and why does it exist?
The Evolutionary Model; it accommodates products that evolve over time
What is this model and what is its use?
The Spiral; its for rapid development of complete versions of software
What is this model"?
Unified Process Model
_______— reuse is the development objective
Prepackaged software
Provide specific functionality —> integrated into the software
Evolutionary (Spiral)
Steps:
Specific application domain
Integration
Software architecture
Testing
Component based development
_________:
Is driven by customer descriptions of what is
required (scenarios)
Recognizes that plans are short-lived
Develops software iteratively with a heavy
emphasis on construction activities
Delivers multiple ‘software increments’
Adapts as changes occur
AN AGILE PROCESS
_____—distinguishing features
Development work is partitioned into “packets”
Testing and documentation are on-going as the product is constructed
Work occurs in “sprints” and is derived from a “backlog” of existing requirements
Meetings are very short and sometimes conducted without chairs
“demos” are delivered to the customer with the time-box allocated
Scrum
What model is this?
Kanban Framework
What model is this?
Devops
______:
Each iteration addresses these
activities:
Modeling
Implementation
Testing
Deployment
Configuration and project management
Environment management
AGILE UNIFIED PROCESS
CHARACTERISTICS OF _______ PROCESS MODELS:
1. Not suitable for large high-risk or mission critical projects.
2. Minimal rules and minimal documentation.
3. Continuous involvement of testers.
4. Easy to accommodate product changes.
5. Depends heavily on stakeholder interaction.
6. Easy to manage.
7. Early delivery of partial solutions.
8. Informal risk management.
9. Built-in continuous process improvement.
AGILE
CHARACTERISTICS OF _______ PROCESS MODELS:
1. Not suitable for small, low-risk projects.
2. Several steps required, along with documentation done up front.
3. Early involvement of testers (might be done by outside team).
4. Hard to accommodate product changes until prototype completed.
5. Continuous stakeholder involvement in planning and risk assessment.
6. Requires formal project management and coordination.
7. Project end not always obvious.
8. Good risk management.
9. Process improvement handled at end of project.
SPIRAL
_______ DEFINITION:
1. Encourage active stakeholder participation by matching their
availability and valuing their input.
2. Use simple models (for example, Post-it notes, fast sketches,
user stories) to reduce barriers to participation.
3. Take time to explain your requirement representation techniques
before using them.
4. Adopt stakeholder terminology and avoid technical jargon
whenever possible.
5. Use a breadth-first approach to get the big picture of the project
done before getting bogged down in details. Contd..
AGILE REQUIREMENTS
________:
Understand the problem better set of tasks
What customer wants
End user interaction with the software
Solid approach to requirements gathering
(software/system) challenges
Adapted to the need
Effort to understand before solving
Requirements Engineering
_____ ask a set of questions that establish:
basic understanding of the problem
the people who want a solution
the nature of the solution that is desired, and
the effectiveness of preliminary communication and collaboration between the
customer and the developer
Requirements Engineering Inception
____ elicit requirements from all stakeholders
Requirements Engineering Elicitation
________ creates an analysis model that identifies data, function and behavioral
requirements
Requirements Engineering Elaboration
_____ agree on a deliverable system that is realistic for developers and
customers
Requirements Engineering Negotiation
______ can be any one (or more) of the following:
A written document
A set of models
A formal mathematical model
A collection of user scenarios (use-cases)
A prototype
Requirements Engineering Specification
______ a review mechanism that looks for
errors in content or interpretation
areas where clarification may be required
missing information
inconsistencies (a major problem when large products or systems
are engineered)
conflicting or unrealistic (unachievable) requirements.
Requirements Engineering Validation
_______: quality attribute, performance
attribute, security attribute, or general system constraint. A two phase process is used to determine which ____’s are compatible:
The first phase is to create a matrix using each ___ as a column heading and the system SE guidelines a row labels
The second phase is for the team to prioritize each ____ using a set of decision rules to decide which to implement by classifying each ___ and guideline pair as complementary, overlapping, conflicting, or independent
Non-Functional Requirement (NFR)
The basic template for writing a good _____ is:
As a(n) actor, I want/need [some capability/behavior] so that I can [achieve some outcome/goal]
Or
As a(n) actor, I want/need [some capability/behavior] because [some requirement]
NOTE: actors can be users, developers, other systems, etc. ...
use case
What is this?
CRC card
What is this?
use-case diagram
What is this?
class diagram from use case
_______:
• specifies software’s operational characteristics.
• indicates software's interface with other system elements.
• establishes constraints that software must meet.
• it allows the software engineer to:
• elaborate on basic requirements established during earlier requirement
engineering tasks.
• build models that depict the user’s needs from several different perspectives.
Requirements analysis
What is this?
guiding principle for system development
_______ PRINCIPLES:
• Principle 1. The information domain of a problem must be represented and understood.
• Principle 2. The functions that the software performs must be defined.
• Principle 3. The behavior of the software (as a consequence of external events) must be represented.
• Principle 4. The models that depict information, function, and behavior must be partitioned in a manner that uncovers detail in a layered (or hierarchical) fashion.
• Principle 5. The analysis task should move from essential information toward implementation detail.
REQUIREMENTS MODELING
________:
ACTORS AND PROFILES
• A UML actor models an entity that interacts with a system object.
• Actors may represent roles played by human stakeholders or external hardware as they interact with system objects by exchanging information.
• A UML profile provides a way of extending an existing model to other domains or platforms.
• This might allow you to revise the model of a Web-based system and model the system for various mobile platforms.
• Profiles might also be used to model the system from the viewpoints of
different users.
SCENARIO-BASED MODELING
______:
• a “contract for behavior” and more formal than a user story.
•are simply an aid to defining what exists outside the system (actors) and what should be performed by the system (use-cases).
1.What should we write about?
2. how much should we write about it?
3. how detailed should we make our description?
4. how should we organize the description?
USE CASES