Midterm Flashcards

1
Q

What are activity graphs?

A

They depict the dependencies among activities
Node: project milestones
Lines: activities involved

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the critical path in a project?

A

Minimum amount of time to complete a project - aka choose the longest path

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is slack time?

A

The difference between the available time and real time for that activity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a Gantt Chart?

A

Gantt Charts are bar charts with time on the horizontal axis and tasks on the vertical access. A bar on the chart indicates the duration a task is worked on.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a system?

A

The part of reality that can be modified or altered by the development process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the system boundary?

A

Separates the system from the environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the environment?

A

What cannot be changed or modified by the development process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a context boundary?

A

Separates the relevant part from the irrelevant part of the environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Relevant environment

A

The part that does influence the system to be developed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Relevant environment

A

Part that does not influence the system to be developed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a goal?

A

Something the user wants to achieve

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is an interaction?

A

Something the user does to the system to achieve the goal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Actors

A

A role external to the system, interacts with a system, tries to achieve a goal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Use-cases

A

one way to use the system, centered around a goal, yields a result to an actor. Verb noun combo, describes interaction, reflects actors goal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Connections

A

Between use-cases and actors (and sometimes between use-cases)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Includes

A

You have a piece of behavior that is similar across many use cases, break this out as a separate use case and let the other ones “includes” it. Refund a purchased item INCLUDES check receipt, arrow pointing at check receipt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Extends

A

A use case similar to another but does a little bit more. Put the normal behavior in the use case and the exceptional behavior somewhere else. Buy Item EXTENDS Buy Alcohol, arrow pointing at buy item

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

How should use-cases be identified?

A

Verb-noun combination, describe an interaction, reflect the actors goal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Define Elicitation in RE

A

Identifiying requirements or obtaining requirements from stakeholders and other sources. Typically includes refining the requirements into additional detail

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Define Documentation in RE

A

Recording requirements based on some standard. Typically either in natural language or a conceptual model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Define Validation & Negotiation in RE

A

Ensure the correctness and applicability of what we intend to build, while maintaining agreement across stakeholders

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Define Management in RE

A

Occurs continuously throughout RE process (i.e. not a single step) to ensure consistency and correctness throughout

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is traceability?

A

Connection of requirements to related requirements. Can be represented via graph, matrix, and text. You have user requirements and system requirements and arrows pointing showing relationships to each

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

How can you represent traceability as a graph in the form of a matrix?

A

User requirements go on y axis, system requirements would go on x-axis, and you check boxes where there are relationships

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Traceability Matrix Pros/Cons
Pros - Clear which links are impacted when a requirement is removed Cons-Large tables, Wasted Space, Difficult to Follow, Separated
26
Traceability Text Pros/Cons
Pros - Large numbers of requirements result in small increases, requirements and traceability info are together Cons- Must search for and follow the textual links to identify traceability Not clear which links are impacted when a requirement is removed
27
How would you represent Traceability as graph to text?
UR21: The driver shall be able to deploy the vehicle over terrain type 4A (SR15, ST32, etc) SR15: The vehicle shall transmit power to all wheels SR32: ....
28
What can you use traceability for other than requirements?
Other artifacts - test cases/procedures, implementation, deisgn documents, qualification support
29
What are risks in requirements engineering?
-Insufficient customer/user involvement -Overlooked user classes -Vague and ambiguous requirements -Unprioritized requirements -Analysis paralysis -Building functionality no one uses etc
30
What is risk impact?
the loss associated with the event
31
What is risk probablity?
The likelihood that the event will occur
32
What is risk exposure?
It quantifies the effect of risks risk exposure = risk probability x risk impact
33
What are the three methods of risk reduction?
Accept/ignore - accept and/or control it Avoid - change requirements for performance or functionality Mitigate: Reduce likelihood or impact (or both) Transfer: to another system or buy insurance
34
What is the cost of reducing risk?
Risk leverage = (risk exposure before reduction - risk exposure after reduction) / cost of risk reduction
35
What is Earned Value Analysis?
A quantifiable measure of progress in a project
36
What are BCWS, BCWP, BAC, ACWP?
Budgeted cost of work scheduled (BCWS): sum of the cost budgeted for each work task scheduled for completion by a point in time (PV - Planned Value) * Budget at completion (BAC): sum of BCWS values for all work tasks in a project * Budgeted cost of work performed (BCWP): sum of the BCWS values for all work tasks that have actually been completed by a point in time on the project schedule (i.e., Earned Value (EV)) * Actual cost of work performed (ACWP): sum of the effort actually expended on work tasks that have been completed by a point in time on the project schedule (i.e., Actual Cost (AC))
37
How would you track schedule and budget using EVA?
Schedule: SPI < 1 behind schedule SV < 0 behind schedule Budget CPI < 1 over budget CV < 0 over budget
38
What is a misuse case?
Harmful uses of the system
39
What is a misuser?
Actor that uses the misuse cases
40
What is the mitigate relationship in a use-case diagram?
Prevents a misuse case from being entirely successful
41
What is the threatens relationship in a use-case diagram?
Prevents a use case from being entirely successful
42
What is the relation of the system boundary to requirements (and testing)?
Requirements definition is the toughest part of software development and can have the largest impact when done incorrectly. Use cases is a powerful tool to understand who your users are, including interacting syste
43
Define Estimation by Guesstimation
Guessing how much it will take, picking numbers out of the air
44
Define Expert Judgement
Solicit estimates from multiple experts in software application domain, arrive at agreed estimate. Often uses a work breakdown structure of tasks that are decomposed until they can reasonably be estimated
45
Define Estimation by Analogy
Using costs of similar completed projects
46
Define Parkinson’s Law
Work expands so as to fill the time available for its completion
47
Define Pricing to Win
Cost is determined by customer's available budget
48
Define Schedule-driven budget estimation
Based on resources allocated to tasks in the baseline schedule. The software is estimated to be the cost of the supplied resources over the course of the schedule.
49
Define Algorithmic Cost Estimation
Estimate the size of a problem, use an empirically obtained algorithm/model that relates size to effort/cost. COCOMO is popular model, collects data from large number of projects
50
What is a Work Breakdown Structure?
A project management tool that provides a hierarchical structure that acts as a bridge or link between the projects scope and the detailed project plan that will be created.
51
What is the Triple Constraint?
The Budget Scope, Schedule triangle, the project is balanced or "in harmony" when the schedule and budget support the project's scope in order to achieve the MOV. The project becomes imbalanced when the scope increases without adjusting schedule and budget accordingly.
52
What is scope?
Defines the work boundaries and deliverables of a project so what needs to get done, gets done. And only what needs to get done, gets done. It's determined by project's MOV
53
What is Measurable Organizational Value (MOV)?
Must be measurable, provide value, be agreed upon, be verifiable. Project objectives support the MOV and include the scope (the project work to be completed), schedule (time), money (budget), quality (conformance or fitness for use) Ex: Increase awareness for healthy living (vision, mission, strategy) by having 250 new subscribers sign up (scope) for a weekly (quality) newsletter within 6 months (schedule)
54
What is Shaw's Model of Engineering Evolution?
Craft, Production, Commercial, Science, Engineering is the order. Looks like two backward Cs connected and then a line. Craft goes first in the bottom part of the C, production above it. Commercial goes in the bottom of the next C, Science above it. Engineering goes on that line connecting to the C on the right.
55
Why is software development/engineering hard?
Growth in number of features, inputs, outputs. A single increase can cause dimensional growth
56
What is a fault?
When a human makes a mistake
57
What are the 5 SE PHASES?
Definition - What are we building? Development - How are we building it Verification - Did we build it right? Maintenance - Managing change and errors Umbrella activities - Common across phases (reviews, documentation, version control)
58
What portion of SE costs are attributed to the phases?
MAINTENANCE has majority, then development and verification, then definition having the smallest cost
59
What is the relationship between the costs of hardware and software?
Software - Linear graph, starts out being inexpensive and increasing over time Hardware - Exponential graph, starts out being most expensive in the beginning and decreasing over time
60
What is analysis?
Decompose a larger problem into smaller understandable pieces using abstraction TOP DOWN
61
What is synthesis?
Build (compose) a sofware from smaller building blocks (Note: composition is challenging) BOTTOM UP
62
Define the Iterative Process Model
Each stage is repeating in cyclic order during the lifetime of the project, has the ability to revisit previous phases. Allows client feedback and changing the system as per client's feedback Example - Spiral model
63
Define the Linear Process Model
Completing phases one by one. After completing one phase, you move on to the next. Suitable for projects with little or no feedback or refinement. No way to go back to the previous phase when you've moved on Examples: Waterfall
64
Define the Evolutionary Process Model
Software is broken down into modules that can be incrementally constructed and delivered.
65
Define the Parallel Process Model
Products are build in iterative format, allows more concurrency of events and activities.
66
What is V model?
Variation of the waterfall model, use unit testing throughout, if problems are found during verification and validation, the left side of the V can be re-executed before testing on the right side is enacted IT IS ITERATIVE, WAY TO GO BACK IT'S ALSO PARALLEL, CAN DO MORE THAN ONE THING AT A TIME
67
What is Waterfall?
Linear, can't go back once you've completed a step. Lots of up front work.
68
What is the Prototype Model?
Let's build something, even if it's not right. Then the customer can tell us which bits aren't right and we can specify them and fully redo them. Process of developing a working replication of a product or system that has to be engineered. Offers small scale of the end product and is used for obtaining customer feedback
69
What are the Phased Development: incremental and iterative models?
Shorter cycle time, system delivered in pieces, enables customers to have some functionality while the rest is being developed Allows two systems functioning in parallel SOME OF IT IS PARALLEL, EACH INCREMENT IS LINEAR. No iteration, can't go back. Some evolutionary Incremental - small functionality and develops from there, Iterative - starts with full system and changes from there
70
What is the spiral model?
Similar to iterative model but with thought given to which areas have the most risk, allowing the customer to abort if the risk becomes too great at any stage The radius of the spiral represent the expenses(cost) of the project so far and the angular represents the progress made so far in the current phase Evolutionary process model
71
What is the Agile method?
Large teams working together with guidelines for how the teams and individuals should work together. Iterative. Minimal focus on documentation and planning, favoring frequent collaboration between the dev team and client as well as within the team.
72
What is the difference between incremental and iterative models?
Incremental - let's build the most important bit as quickly as we can and deliver to customer, then we'll add from there Iterative - let's build something even if it's not quite right then we can show to customer and continue changing as needed
73
What are hybrid methods and how do they fit in?
Waterfall with prototype - a prototype is partially developmed product, useful for verification and validation, assess design strategies, users understand what system will be like. Waterfall with prototype is linear and iterative and a little parallel. Waterfall-agile uses waterfall at first and then agile later Allows localized benefits of different process models, does not require updating high level processes if they are used in company policies, old docs, etc
74
Define Determine the Obligation in Construction with Templates
Shall, Should, Will, May
75
Define The Requirement Core in Construction with Templates
The core of a requirement is the functionality that is required, typically the process verb that the system must adhere to
76
Define Characterize The Activity of a System in Construction with Templates
Requirements may be classified as one of three types - autonomous: performed w/o additional interaction user interaction: performed to support need of specific actor interface requirement: reactive requirement dependent on an external system
77
Define Insert Objects in Construction with Templates
Additional objects may be necessary to fully specifiy the process verb
78
Define Determine Logical and Temporal Conditions in Construction with Templates
Finally there are likely conditions about when either temporally or logically a process verb should be executed
79
Construction with Templates Order
Determine the Obligation The Requirement Core Characterize the activity of a system Insert Objects Determine Logical and Temporal Conditions The phone SHALL BE ABLE TO receive a call when a call is incoming.
80
What is a functional requirement?
Behavior requirements, specific services that an actor can accomplish using the app. Ex: Display name, total size, available space, and format of a flash drive connected to USB port.
81
What is a non-functional requiremnet?
Specifies something about service, overall qualities or attributes, restrictions or contrains placed on service offered by system, **often more critical than individual functional requirements**