Y3S2 Flashcards

1
Q

ST: name the 6 stages of the Software Development Life Cycle aka the Software Development Process

A
Planning
Defining
Designing
Building
Testing
Deployment
Repeat (It's a cycle)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

ST: Name the 5 stages of the waterfall method and 3 of the “tools” that are used by developers at each stage

(1970 Winston W. Royce)

A

Stages:
1.Requirement Elicitation and Anal ;) ysis
/\ \/
2.Specification - (Tool used - Specification Notations)
/\ \/
3.Implementation (Tool used- programming languages)
/\ \/
4.Test (Tool used- Test Languages (TTCN-3))
/\ \/
5.Maintenance

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

ST: 4 Advantages of the waterfall method

A

◦ Simple and easy to understand and use.

◦ Easy to manage due to the rigidity of the model – each phase has specific deliverables and review process.

◦ Phases are processed and completed one at a time. Phases do not overlap.

◦ Works well for smaller projects where requirements are well understood.

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

ST: 4 Disadvantages of the waterfall method

A

◦ Difficult to go back and change something that was not well-thought out.

◦ No working software is produced until late during the life cycle.

◦ High amounts of risk and uncertainty.

◦ Not good for complex and OO projects. Not good for ongoing projects.

◦ Not suitable for projects with high risk of requirements changes.

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

ST: Give 5 reasons why someone would choose to implement the waterfall method for their project.

A

◦ Requirements are very well documented, clear and fixed.

◦ Product definition is stable.

◦ Technology is understood and is not dynamic.

◦ Ample resources with required expertise are available to support the product.

◦ The project is short.

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

ST: Define the 4 quarters of the spiral model

A
1. Top Left -
Determine Objectives
2. Top Right -
Identify and resolve risks
3. Bottom Right
Development and Test 
4. Bottom Left
Plan the next iteration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ST: Consider the commonly used diagram used to depict the spiral model used . Describe where the project would start.

A

x axis - No name
y axis - Cumulative cost

Projects start at the center (0,0) and starts the spiral towards the right

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

ST: Name 5 advantages of using the spiral model

A

◦ High amount of risk analysis

◦ Good for large and mission-critical projects

◦ Strong approval and documentation control

◦ Additional functionality can be added at a later date

◦ Software is produced early in the software life cycle

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

ST: Name 5 disadvantages of using the spiral model

A

◦ Can be a costly model to use

◦ Risk analysis requires highly specific expertise

◦ Project’s success is highly dependent on the risk analysis phase

◦ Not suitable for smaller projects (high overhead)

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

ST: Give some possible reasons that a project would chose to use the spiral model

A

◦ Long-term project commitment because of potential changes to economic priorities as the requirements change with time.

◦ Customer is not sure of their requirements.

◦ Requirements are complex and need evaluation to get clarity.

◦ New product line which should be released in phases to get enough customer feedback.

◦ Significant changes are expected in the product during the development cycle.

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

ST: Name the 5 stages that sit on the left side \ of the v model and then name the 4 corresponding stages that sit on the right side / of the v.

A
Left Side \ ->/ Right Side
Requirements -> Acceptance Testing
Specification -> System Test
Architectural Design -> Integration Test
Detailed Design -> Unit Test
Coding
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ST: why did the v model come about and in which field of cs is it mandatory that developers implement this development cycle

A

The German federate office for information security BSI was a driving force in its elaboration.
In Germany, the V-model is mandatory for safety-critical governmental projects.

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

ST: 4 V-Model Advantages

A

◦ Simple and easy to use

◦ Testing activities like planning, test designing happens well before coding

◦ Proactive defect tracking – defects are found at early stage (with early testing)

◦ Works well for small projects where requirements are stable and well understood

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

ST: 3 V-Model disadvantages

A

◦ Very rigid and least flexible

◦ No early prototypes as software is developed

◦ If changes happen in midway, both test documents and requirement documents change

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

ST:Name 5 possible reasons why you would implement the v model in developing your application

A

◦ Requirements are well defined, clearly documented and fixed.

◦ Product definition is stable.

◦ Technology is not dynamic and is well understood by the project team.

◦ There are no ambiguous or undefined requirements.

◦ The project is short.

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

ST: Name 3 common modals/methods used in system life cycle development

A

Waterfall
Spiral Model
V model

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

What formal ISO process describes the standard for software testing and what does it state

A

9000-3 recognizes that several types of testing may be necessary to adequately exercise a product, such as unit, integration, system, and acceptance testing.

ISO = International Organization for Standardization

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

ST: Briefly describe the 4 case study’s given for buggy software

A

Steam - Accidentally wiping linux users entire root directory when uninstalling a client.
German Bank cards faulty “theres no 2010” microchip
Llyods customers couldnt transfer money via “Faster Payments”
Pacman level 256, Donkey Kong level 22 suffered overflow errors

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

ST: Briefly describe the case study for l”software is long in use”

A

Fortran Library - largest collection of numerical algorithms from 1970

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

ST: according to Effort
distribution,
industry, 2005
what is the breakdown of time spent on each section of the software development process

A

◦ Requirements: 15-20 percent
◦ Analysis and Design: 15-20 percent
◦ Construction (code and unit testing): 25-30 percent
◦ System Testing: 15-20 percent
◦ Implementation / Deployment: 5-10 percent

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

ST: 3 reasons software quality is important?

A
  • Reduce bugs
  • Reduce maintenance costs
  • Get certification

Testing helps ensure SQ

22
Q

ST: TRUE OR FALSE

Testing in the process of verifying the program works correctly

A

Generally false, there will always be bugs. You cannot verify the program works correctly.

23
Q

ST: Name the two types of testing

A

Verification – The software should confirm to its specification (Are we building the product right?)

Validation – The software should do what the user really requires (Are we building the right product?)

24
Q

ST: What is the difference between the terms faults are errors

A

Error - synonym for mistake – “people make errors” Fault - result of an error

25
Q

ST: what is the difference between the terms Failure, Incident and Test Execution

A

Failure - occurs when a fault executes
Incident - symptom that alerts the user of the occurrence of
a failure
Test execution - act of exercising software with test cases

26
Q

ST: Name the 2 main goals for testing

A

Find failures

Demonstrate correct execution

27
Q

ST: What does SUT stand for

A

System Under Test

28
Q

ST: How do you establish a system quality?

A

You check that a SUT conforms to a specification (e.g. UML State Machine) You test this by systematically experimenting (using test suites) with the SUT and obtaining a verdict on the system by performing test evaluation and documenting the test data in test documentation

29
Q

ST: Name 6 reasons how the design of the system affect its testability

A

Operability - better it works the more efficiently it can be tested. aka fewer bugs is best
Observability - generates a distinct output which can be easily identified
Controllability - Test engineer can directly control: Hardware, software can execute all code through combination of input and All outputs can be generated by some input
Decomposalility - By controlling the scope of testing, we can more quickly isolate problems and perform smarter retesting. - build software using modules
Simplicity - The less to test, quicker to test
• Functional - no extra features outside of requirements
• Structural - designing partitions to minimise fault propagation
• Code - follow standard

Stability - try not to change code while testing. Well understood design + dependencies, good docs

30
Q

DV: Define Data Visualization

A

convey information via visual representations

or: Computer-based visualization systems
provide visual representations of datasets
intended to help people carry out some task
more effectively.

31
Q

DV: Pysically why do humans like visualisation

A

Helps us think
● Reduces load on working memory
● Offloads cognition
● Leverages power of human perception

32
Q

DV: What 3 factors do you have to consider for effective visualisation.

A

Data
Tasks
users

33
Q

DV: What 4 consider users when designing effective visualization

A

Visual Literacy
colour blindness
patience - development and evaluation
training considerations

34
Q

DV: What is the formula for the lie factor and why would you calculate it

A

(size of effect in graphic)/(size of effect in data)

On a graph some data is more apparent than others and can be made to look like a bigger “problem” vs what the raw data shows.

35
Q

DV: Data - ink Ratio

A

Data-ink : the ink used to show data

Data-ink ratio : data-ink / total ink used

36
Q

DV: Describe 3 points about “tasks”? Give an example

A

● For what purpose is a particular visualization
effective?
● Often described abstractly
● Abstracting tasks allows us to compare across
domains
e.g “constrast patients in the ICU after one month vs first week”

37
Q

DV: Name 3 different types of tasks

A

High Level : Overarching goals e.g. cure cancer
Mid-level: More detailed how e.g. identify most influential factors
Low-Level: Exactly how e.g. Click on kine…
(Analyze, Search, Query)

38
Q

DV: What is Shneiderman’s Mantra

A

Overview first, zoom and filter, details on demand

39
Q

DV: Define what data is and the 2 main versions of the term “Data”

A

Data is information
Semantics : real-world meaning of data
Type : Storage type in computer

40
Q

DV: visualisations are based on 3 main types of data attributes - Describe them and give an example for each.

A

Quantitative : Numbers (continuous) 10cm
Ordinal : Ordered small, medium, large eggs
Nominal : Not ordered, rabbits, dogs, cats

41
Q

DV:What is the term for a collection of attributes?

A

A Dataset

42
Q

DV: Give 4 types of datasets

A

tables (mulitidimensional tables)
networks(and trees)
fields
geometry

43
Q

DV: Describe tabular data

A

Attributes are in columns
Data “item” is a row
very common.
Included geometry and static datasets

44
Q
DV: Which dataset can  be described by :
● Nodes have attributes
● Edges have attributes (links)
● Often represented as 2
tables
A

Networks and trees

45
Q

DV: What type of data is fields?

A
Continuous
● Common in volume
& flow visualization
● Grids can be many
types
46
Q

DV: When would you have a geometry (spartial) dataset?

A

To record
location
distance
areas of effect

47
Q

DV: How would you contain text into a dataset

A

Because text is unstructured data it is difficult but you can encode them into attributes by e.g.
– Word counts (aka bag of words)
– N-grams
– word2vec

48
Q

DV: When is it best to use DV

A

When you have a lot of information on a computer and the task is clear.

49
Q

DV: If you wanted to start a DV Project. I mean when Ellis Thompson comes up with a DV Project where should/might be a good place to start? WHEN

A

Shneidermans Mantra

50
Q

DV: What is the purpose of task abstractions

A

Allow us to compare across domains

51
Q

DV: Define 2 things data always has

A

Semantics and type

52
Q

DV: How do we understand the data we collect?

A

Identify into attributes