Software Engineering (copy)

0.0(0)
studied byStudied by 2 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/37

flashcard set

Earn XP

Description and Tags

Exam 1

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

38 Terms

1
New cards

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

2
New cards
<p>what type of paradigm is this?&nbsp;</p>

what type of paradigm is this? 

an evolutionary agile model, specifically extreme programming

3
New cards
<p>What type of paradigm is this?</p>

What type of paradigm is this?

a waterfall paradigm

4
New cards

What classes of problems cannot be
avoided, and give some examples from those classes

??

5
New cards

Having well-defined ______ clarifies the scope of the work (reduces complexity) that will be required for a project

requirements

6
New cards

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

7
New cards

What are the generic framework activites?

Communication
Planning
Modeling
     Analysis of requirements
     Design
Construction
     Code generation
     Testing
Deployment

8
New cards
<p>What is this model showing?</p>

What is this model showing?

Process Flow

9
New cards
<p>What model is this?</p>

What model is this?

The Incremental Model

10
New cards
<p>What model is this and why does it exist?</p>

What model is this and why does it exist?

The Evolutionary Model; it accommodates products that evolve over time

11
New cards
<p>What is this model and what is its use? </p>

What is this model and what is its use?

The Spiral; its for rapid development of complete versions of software

12
New cards
<p>What is this model"?</p>

What is this model"?

Unified Process Model

13
New cards


_______— 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

14
New cards

_________:
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

15
New cards

_____—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

16
New cards
<p>What model is this?</p>

What model is this?

Kanban Framework

17
New cards
<p>What model is this?</p>

What model is this?

Devops

18
New cards

______:
Each iteration addresses these
activities:
Modeling
Implementation
Testing
Deployment
Configuration and project management
Environment management

AGILE UNIFIED PROCESS

19
New cards

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

20
New cards

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

21
New cards

_______ 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

22
New cards

________:

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

23
New cards

_____ 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

24
New cards

____ elicit requirements from all stakeholders

Requirements Engineering Elicitation

25
New cards

________ creates an analysis model that identifies data, function and behavioral
requirements

Requirements Engineering Elaboration

26
New cards

_____ agree on a deliverable system that is realistic for developers and
customers

Requirements Engineering Negotiation

27
New cards

______ 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

28
New cards

______ 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

29
New cards

_______: 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)

30
New cards

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

31
New cards
<p>What is this?</p>

What is this?

CRC card

32
New cards
<p>What is this?</p>

What is this?

use-case diagram

33
New cards
<p>What is this?</p>

What is this?

class diagram from use case

34
New cards

_______:

• 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

35
New cards
<p>What is this?</p>

What is this?

guiding principle for system development

36
New cards

_______ 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

37
New cards

________:
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

38
New cards

______:
• 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