Set: Computer Science 310: Software Engineering

Familiarize

Learn

Test

Play Scatter

Play Space Race

Voice Race

Combine with other sets Login to add to Favorites
Print: Term List | Flashcards Editing not allowed
Export Deleting not allowed

Share these flash cards

With group: UBC Computer Science
HTML link to set: Tiny link:
Share on Facebook Share on MySpace

All 73 terms

TermDefinition
Lifecycleseries of phases through which software is developed
PhaseSingle step in a lifecycle
Cowboy codingAbsence of lifecycle
RequirementsThe things a system must do
Functional RequirementsTasks that a system must be able to perform
Non-functional RequirementsConstraints on the design due to external factors
ElicitationFiguring out what the requirements are
DesignDeveloping a plan for a product, system or component. "how" a system should perform a task
Design patternReusable, abstract "blocks" of design
StakeholdersPeople who care about the outcome
SRS DocumentationComprehensive description of software's intended purpose
use casedescription of possible sequences of interactions between a user and the system.
architectural designWays to express the system's subsystems and their relationship
Dijkstra's lawTesting can show the presence but not absence of errors
unit testingTesting that verifies that individual units of source code are working
Integration testingTesting where modules are combined and tested as a group
regression testingTesting designed to uncover regressions (where stuff that used to work doesn't work anymore)
system testingtesting the whole system for functionality
Acceptance testingFormal testing against end user specifications
Recovery testingForce software to fail in order to see how it recovers
Security testingverifies that system is protected against improper penetration
Stress testingexecutes system in a manner that demands abnormal amounts of resources
Capacity testingEvaluates upper limits of operational parameters
Usability testingTest whether or not tasks can be accomplished efficiently by all levels of users
Performance testingTest the run-time performance of the system
black box testingTesting tactic based on whether inputs and outputs match up for required functionality
white box testingTesting tactic that looks at all ways that data can flow through the code
Design patternsTechniques for composing objects to form larger structures
Maturity levelhow developed code is (testing, documentation etc)
Software Qualityhow well your fulfil your requirements
Code QualityLack of errors in code, readability etc
a refactoringsmall, behaviour-preserving, source-to-source transformation
Elicitation1st step of requirements gathering
Analysis2nd step of requirements gathering
Specification3rd step of requirements gathering
Validation4th step of requirements gathering
brief use caseA few sentences summarizing a use case
Casual use caseOne or two paragraphs of text outlining a use case
Fully-dressed use caseFormal document outlining a task that needs to be performed on a system
Use case diagramDiagram outlining the tasks that are going to be performed by the user
conflicta powerful motivator for change
technical managerial approachapproach to team management that splits management up into two people with separate tasks
sequence diagramDiagram used to show how information flows around the system
Law of demeter"single dot rule"
Liskov substitution principlederived methods should not assume more or deliver less
Test-driven developmentTest cases made -> code compiles -> make code pass
model-driven developmentmodels->code work is done to keep models in sync with code
feature-driven developmenteach team member given set of features to work on
VersioningFreezing the state of the source code at a particular point
MaturityThe rigorousness of the tests that are able to be placed on the code
software qualitydegree to which the system meets the specified requirements and development standards
code qualitythe degree to which code is free of defects
Quality metricsa way to automatically grade code based on heuristics
code smellrecognizable indicator that something may be wrong with code
duplicated code(smell) code is repeated in multiple places
long method(smell) method has too many statements, loops or variables
Large class(smell)class with too many instance variables or too much code
long parameter list(smell) many parameters are being passed into a method
comments(smell) Smell deodorant
message chain(smell) client needs to use one object to get another and then use that one to get another
data clumps(smell) If a set of variables are used together in multiple places
feature envy(smell) A method using another class more than its own
shotgun surgery(smell) Making one change requires changes in multiple places
inappropriate intimacy(smell) Classes using things that should be private in other classes
Data classes(smell) A class whose only purpose is to hold data
middle man(smell) One class delegates all of its requests to another class
intellectual propertythe rights governing the ownership and disposition of technology
patentcontract between inventor, assignee and state giving a time and geographically limited monopoly
copyrightprotecting the embodiment of an idea
trademarkword, logo or symbol used to distinguish one organization's wares and services from another's
statementEach line of code is covered once
branchEach condition is covered twice (true, false)
pathEach possible path through the code is covered
Become a Friend of Quizlet!

Set Information

Terms 73
Creator ramcio
Created September 2, 2008
Group UBC Computer Science
Subjects computer science, software development, software engineering
Access Anyone
Edit Via password or Group: UBC Computer Science
Get rid of ads on Quizlet

Description

My Set for the CPSC 310 class at UBC

Pop out

Discuss

No Messages
Last Message: never

You must be logged in to discuss this set.

Top Users

  1. ramcio - 177 scores
  2. HansBlix - 96 scores
  3. maxeii - 10 scores
  4. sspurious - 3 scores
  5. ianleon - 2 scores
  6. minats - 1 score
  7. rigergo - 1 score

Most Missed Words

  1. Performance testing Test the run-time performance of the system - 3 misses
  2. message chain (smell) client needs to use one object to get another and then use that one to get another - 3 misses
  3. Design pattern Reusable, abstract "blocks" of design - 3 misses
  4. Maturity The rigorousness of the tests that are able to be placed on the code - 3 misses
  5. a refactoring small, behaviour-preserving, source-to-source transformation - 2 misses
  6. sequence diagram Diagram used to show how information flows around the system - 2 misses
  7. middle man (smell) One class delegates all of its requests to another class - 2 misses