Y3S2 Flashcards

(52 cards)

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
ST: what is the difference between the terms Failure, Incident and Test Execution
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
ST: Name the 2 main goals for testing
Find failures | Demonstrate correct execution
27
ST: What does SUT stand for
System Under Test
28
ST: How do you establish a system quality?
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
ST: Name 6 reasons how the design of the system affect its testability
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
DV: Define Data Visualization
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
DV: Pysically why do humans like visualisation
Helps us think ● Reduces load on working memory ● Offloads cognition ● Leverages power of human perception
32
DV: What 3 factors do you have to consider for effective visualisation.
Data Tasks users
33
DV: What 4 consider users when designing effective visualization
Visual Literacy colour blindness patience - development and evaluation training considerations
34
DV: What is the formula for the lie factor and why would you calculate it
(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
DV: Data - ink Ratio
Data-ink : the ink used to show data | Data-ink ratio : data-ink / total ink used
36
DV: Describe 3 points about "tasks"? Give an example
● 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
DV: Name 3 different types of tasks
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
DV: What is Shneiderman's Mantra
Overview first, zoom and filter, details on demand
39
DV: Define what data is and the 2 main versions of the term "Data"
Data is information Semantics : real-world meaning of data Type : Storage type in computer
40
DV: visualisations are based on 3 main types of data attributes - Describe them and give an example for each.
Quantitative : Numbers (continuous) 10cm Ordinal : Ordered small, medium, large eggs Nominal : Not ordered, rabbits, dogs, cats
41
DV:What is the term for a collection of attributes?
A Dataset
42
DV: Give 4 types of datasets
tables (mulitidimensional tables) networks(and trees) fields geometry
43
DV: Describe tabular data
Attributes are in columns Data "item" is a row very common. Included geometry and static datasets
44
``` DV: Which dataset can be described by : ● Nodes have attributes ● Edges have attributes (links) ● Often represented as 2 tables ```
Networks and trees
45
DV: What type of data is fields?
``` Continuous ● Common in volume & flow visualization ● Grids can be many types ```
46
DV: When would you have a geometry (spartial) dataset?
To record location distance areas of effect
47
DV: How would you contain text into a dataset
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
DV: When is it best to use DV
When you have a lot of information on a computer and the task is clear.
49
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
Shneidermans Mantra
50
DV: What is the purpose of task abstractions
Allow us to compare across domains
51
DV: Define 2 things data always has
Semantics and type
52
DV: How do we understand the data we collect?
Identify into attributes