• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/109

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

109 Cards in this Set

  • Front
  • Back

Define Reuse

Use component parts instead of making it all yourself

Define Quality Measurement

Define metrics and standards for product and process quality testing

What is Software Engineering

- Apply engineering practices to software development


- Think hard about the similarities and differences between regular and software engineering

Why do software engineering?

-complexity of large programs: 1 person can't develop large systems


-reduction of cost and time to develop


- maintenance costs


-Quality software


-Had a software crisis in 1968

What is IEEE's approach to Software Engineering?

Systematic approach to the development, operation, maintenance, and retirement of software

What is Pressman's approach to Software Engineering

Establishment and use of sound engineering principles in order to obtain, economically, software that is reliable and works efficiently on real machines

What are the 2 steps in Problem Solving?

1) Analysis: define the problem


2) Modeling: design solution

What are the 2 steps in production?

1) Process: repeatable steps


- process model: how the steps fit together


2) Quality: measure of success

What are the 3 steps in profit motive?

1) development time


2) cost estimation


3) return on investment

What are the 3 steps in subsystems?

1) boundary and interface: how 1 subsystem interacts with another


2) software architecture: how subsystems fit together


3) management vs. technical reasons for subsystems

What are the 2 steps in Paradigms

1) how to create subsystems: object-oriented development, component-oriented software-engineering


2) methodology

What are the 2 steps in Product (what you're building)?

1) code and executable


2) other work products: user manual, design documents

What are the 3 steps in Process (how you're building the product)?

1) how are the products produced?


2) measurement/cost control


3) repeatable

What are the 2 steps in Product Quality (how good the product is)?

1) # of bugs, customer satisfaction, MTBF..


2) iltilities: (reliability, usability, portability, correctness, efficiency, maintainability, testability,..)

What are the 4 steps of process quality (how good you do it)

1) Documentation of process


2) quantifiable goals


3) inspections, reviews, tests


4) planning for quality

What are the 2 steps for Configuration Management (when dealing with multiple ppl working on many parts of a product need to control changes)

1) for each product:


-initial development


-baselines


-static change control


2) traceability:


-links between work products


-dynamic change control

What are the 5 steps to Systems Engineering? (IMPORTANT! on study guide)

1) decide on the need for the system


2) consider alternative solutions


- do nothing


- COTS: commerical of-the-shelf software


- buy


- build


3) determine hardware and software needs


4) make cost estimates


5) do risk analysis over all alternatives

What are the 5 steps of gathering requirements?

1) get requirements from users and clients: elicitation


2) customer requirements (statements of basic needs)


3) developer specifications (precise statements of operation)


4) create first-cut models: analysis


5) document requirement specifications

What are the 3 steps to Design?

1) high level: software architecture


-partition the system into modules


-assign functionality to each module


2) medium level: for each module, define classes (with methods and data) and their relationships


- may include creation of class diagrams and other UML models


3) low level: detailed design of methods - algorithms and data structures

What are the 3 steps to Implementation

1) code the pieces


2) integration: put the pieces together


3) debug

What are the 4 steps to Testing?

1) unit testing: individual modules


2) integration testing: module interactions


3) system testing: all modules together


4) acceptance testing by the customer

What are the 2 steps to Delivery?

1) installation on customer's system


2) easier than it sounds..

What are the 5 steps to Maintenance?

1) fix bugs


2) add enhancements


3) improve performance


4) adapt to new environments


5) 67% cost of software

What does the Cost of Change Curve say (part of scrum)?

start = relatively cheap (requirements 


 


later = more expensive

start = relatively cheap (requirements



later = more expensive

How does Agile claim to flaten the Cost of Change curve? (4 steps)

1) it's a waterfall statistic, not applicable to agile projects


2) it's less applicable for small projects


3) it's highly correlated to the amount of documentation to be changed


4) the XP values work together to flatten the curve: communication, simplicity, feedback, courage

What are the 3 "pillars" of Scrum

1) transparency: process must be visible to those responsible for the end products, with a common standard of evaluation for the stakeholders


2) inspection: frequent review of artifacts and progress


3) adaption: adjust process when product is at risk

What are the team roles of Scrum?

1) Product Owner


2) Scrum master


3) Team member

Which role of scrum:


-enforces scrum practices


-insulates development team from outsiders


-coaches and teaches development team


-facilitates team meetings

Scrum Master

Which role of scrum:


creates and orders the items in the product backlog

Product owner

Which role of scrum


-is "self-organizing"


-cross-functional: all necessary skills


-requires accountaiblity

Team Member

What does a Sprint typically consist of?

1) Team members sign up for backlog goals


2) priorities remain constant during the sprint


3) scope may be adjusted based on product owner feedback


4) sprint planning meeting


5) daily scrums


6) the actual work


7) sprint review


8) sprint retrospective

T/F - Outsiders can be present for the Daily Scrum

False. No outsiders should be present

T/F - Daily scrum should be about 15 mins and facilitated by scrum master

True

Sprint Review Involves all of the following EXCEPT?


a) review progress


b) demonstrate current product for product owner


c) discuss what went well, what went poorly


d) create an improvement plan


e) start planning next sprint -- review the product backlog

D... this is for the sprint retrospective

T/F - The sprint retrospective includes all of the following:


1) discuss how the last sprint went concerning people, process, tools, communication


2) create and improvement plan

True

T/F - Product backlog is dynamic and starts with the best-understood and most needed items first

True

T/F - Sprint backlog consists of items that are last on the product backlog

FALSE. It is just items for the current sprint

What are the 7 basic activities (phases) in the lifecycle model?

1) Systems engineering


2) Requirements gathering and analysis


3) High level and low level design


4) Implementation


5) Testing


6) Delivery


7) Mainenance

Why are the 5 reasons you would mode lyour process?

1) Helps organize, plan, staff, budget, schedule


2) outlines documents and deliverables: milestones


3) tells what tools and staff are needed


4) can measure cost, quality, and productivity per process


5) basis for organizational quality improvement

What does the Build and Fix "Model" do? (note the name is a dead giveaway)

1) Build a version


2) Let the client complain


3) Build the next version

T/F - There are 2 different types of Waterfall methods

True -


1) The waterfall model


2) The Iterated waterfall model

Water Fall Method T/F


--------------------------------


Does not use basic phases in order

False. It does use basic phase in order

Water Fall Method T/F


--------------------------------


Each phase is input to the previous phase

False. It is input to the next phase

Water Fall Method T/F


--------------------------------


Each phase must be completed before beginning the next phase

True

Water Fall Method T/F


--------------------------------


The only downside to the waterfall method is that milestones are considered difficult to obtain

FALSE. They are easy to obtain

Water Fall Method T/F


--------------------------------


With water fall, you test after each phase

True

Water Fall Method T/F


--------------------------------


Waterfall is not document-heavy

False. In Water Fall it is document-driven

Water Fall Method T/F


--------------------------------


The Water Fall method is kind of like a linked list... it's sequential

False. It is sequential

Iterated Water Fall Method T/F


-------------------------------------------


Does not include feedback loops like the original water fall method does

False. IT does include feedback loops

Iterated Water Fall Method T/F


-------------------------------------------


Allows for fixes DURING the process

TRUE

Iterated Water Fall Method T/F


-------------------------------------------


Is considered more sequential than the original waterfall, hence the name (iterated)

FALSE. It REMOVES (some) of the sequential-ness

The V Model is said to be similar to which model (albeit additional testing)



1) Prototyping model


2) Water fall model


3) Iterated water fall model


4) Spiral model

Water Fall model

In the V Model _______ is HEAVILY emphasized!

TESTING

In the V model,



requirements <-> ________ testing

acceptance testing

in the V model,



high lvl design <-> ______ testing, ________ testing

system testing, integration testing

in the v model,



low lvl design <-> ______ testing

UNIT testing

T/F - In the V Model, you would tie the implementation phase to a testing phase

TRUE

T/F


In the Prototyping Model, you build JUST 1 prototype

FALSE. You build one OR more

T/F


Initial prototype verifies the requirements, especially the user interface

True

T/F


The Spiral Model was originally applied to the Waterfall method

True

T/F


The Spiral Model has 4 stages: plan, risk analysis, <go/no go decision>, develop, evaluate

True

T/F The Incremental model builds part of the system on each round

True (derp)

What is the difference between the Incremental and Iterative Models? (aren't they the same thing??)

Incremental: builds part of the system on each round



Iterative: adds depth on each round


- user has working system from the beginning, but live with the initial design

T/F - Agile methods are not Iterative and incremental

FALSE. They are iterative and incremental

T/F


When getting user requirements (user stories) from the customer, you should get all of them in one sitting

FALSE. Don't get them all at one time

T/F - Iterations in Scrum are generally 2-3 weeks

True

What are some characteristics of XP (eXtreme Programming)?

1) On-site customer


2) Pair programming


3) continual refactoring of code and design

T/F - Rational Unified Method has 4 phases independent of several workflows

True

What does RUP (lifecycle model) stand for?

Rational Unified Method

T/F - RUP Engineering workflows has a business modeling that ensures the system will support the business goals

True

T/F - RUP Engineering workflows requirements are used to determine the users needs by eliciting functional, nonfunctional and pseudo-requirements

True

What 3 workflows are supported by RUP

1) Project Management


2) Configuration and Change management


3) Environmental (Tools)

Describe the Chart used for the RUP Engineering Workflows. Can you name the 7 phases? What about how each one spends on inception, elaboration, construction, and transition

How do companies pick a methadology?

1) We've always done it this way


2) Hype: everyone is doing method X, so we should too


3) Size/complexity analysis (agile methods may not work for large projects)


4) Best practice analysis

What typically happens in a project retrospective?

1) related more to Agile methods


2) Talk about what went right/wrong


3) Organizational memory (statistics)


4) Plan for next project

What are the 5 steps involved in gathering requirements?

1) Identify stakeholders


2) get needs from stakeholders


3) analyze the info


4) confirm with the stakeholders


5) write specs

What is the difference between Requirement and Specification?



^note this is in gathering requirements from userboy

Requirement: Talking in the user domain (some action the system must do)


Specification: Talking in the developer's domain (precise statement of a requirement)

T/F - Requirement specification is a precise statement of software functionality, performance, or interface that can be tested

true

T/F - Developer should avoid leading questions (i.e., gold plating which is "developers suggest requirements to the users because...") but instead ask open-ended questions in a structured interview

True

What are some good pieces of advice one should follow in a STRUCTURED <--- (keyword structured) interview?

1) develop Q's beforehand


2) adapt questions to answer


3) ask a range of users


4) follow-up questions later


5) get sense of user environment


6) don't use jargon

T/F - When doing a structured interview, one can expect contradictory views

TRUE TRUE TRUE

T/F - In a Task-based interview, the developer gives the user a common problem

TRUE

T/F - in a Task-based interview, avoid asking question while stepping through a solution

FALSE. you should ask questions while stepping through a solution

T/F - in a Task-based interview, the developer should avoid trying to form a model of the user's thought processes

False. the developer should form a model of the user's thought processes

In gathering requirements, what is a questionnaire?



^easiest question in the world

A list of questions for users

When sending a questionnaire to userboy, you should include open-ended questions

TRUE

List 1 pro and 1 con of doing a questionnaire

Pro: no one is going to be biased


Con: No way to do a follow-up question; can't adjust questions on the fly like you can in an interview

What is Observation in requirements gathering?



^i.e., the most boring job ever

- watch and record users doing the job that the system will do/replace

Name 1 pro and 1 con for Observation

Pro: Good when replacing existing systems or automating manual tasks


Cons: Time consuming!!!

Name 1 pro and 1 con of group discussion in gathering requirements

Pro: gets more ppl involved in shorter time


Con: avoid group-think (1 person says something, another agrees and suddenly everyone agrees)

What is Rapid prototyping



^note these names are rather obvious

create a prototype quickly

Name a pro and con of Rapid Prototyping

Pro: useful in getting users to say what they *don't* want


Con: does not provide all (or even any) system functionality

What is the purpose of Market analysis in requirements gathering?



^again: really obvious name

Product analysis



is the market already dominated by a competitor? market analysis is generally done by marketers, not developers

What does JAD mean in requirements gathering?

Joint Application Design

What is JAD?

Really fancy name for a group interview. Facilitator leads the meeting. Really important that you have management involved.

T/F - Generally in a JAD (group interview) no users are present

False. this is a meeting of users, developers, facilitator, management

T/F - Only the manager gets to speak in a JAD

False. the facilitator makes sure that everyone gets to speak

T/F - The JAD MUST include someone with authority to make and enforce decisions

True

T/F - Specs should be verifiable (i.e., does the product actually *do this?)

True

What is a functional requirement?



^really obvious

Tells what the system will do in response to some event or input

What is 1 pro and 1 con of a functional requirement?

Pro: makes up most of a systems requirements


Con: getting all the functional requirements for a complex system--rarely known by one customer

What are non-functional requirements (NFR) or quality attributes?

Tell how the system does something

What is a pro and con of NFR (non-functional requirements)

Pro: Tell how the system does something


Con: Getting precise statements of NFR's ("The system shall be user friendly")

Match each category with a lifecycle model



Waterfall -> _______


RUP -> ________


Agile ->______


high risk systems ->______




A) use cases


B) user stories


C) TLR, SRS


D) formal languages

Waterfall -> TLRS, SRS


RUP -> use cases


Agile ->user stories


high risk systems ->formal language

What are the Top Level Requirements (TLR)

1) Executive summary


2) clients and user profile


3) scope


4) system definition


-system level diagram


-functional requirements


-non-functional requirements


-user-interface requirements


-data storage requirements


What is SRS?

Software Requirements Specification



Fully describes what the software will do and how it will be expected to perform

name 3 Pros of SRS
name 3 Cons of SRS

Pros:


1) industry standard


2) well-accepted


3) straight forward


Cons:


1) a bit constraining


2) no feel for flow


3)when requirements change -- and they will -- takes work to keep the SRS up to date

List the 4 meetings held during a sprint

1) sprint review


2) daily scrum


3) planning


4) stories

Diff between product backlog and sprint backlog?

Product backlog: has no finite date


Sprint backlog: Has to be completed THIS sprint