comp2050 wacky ass bullshit Flashcards

1
Q

What is a pipe and filter architecture

A

Functional transformations process their inputs to produce outputs.

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

What does a pipe and filter architecture graph look like

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

What is client-side architecture

A

Set of stand-alone servers which provide specific services such as printing, data management, etc. Set of clients which call on these services. Network which allows clients to access servers. Distributed system model with data and processing distributed across a range of components. Can be implemented on a single computer.

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

What does a client side architecture graph for a library look like

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

What is layered architecture

A

Used to model the interfacing of sub-systems.
Organises the system into a set of layers (or abstract machines) each of which provide a set of services.
Supports the incremental development of sub-systems in different layers. When a layer interface changes,
only the adjacent layer is affected.

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

What does layered architecture graph look like

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

What is Repository architecture

A

Sub-systems must exchange data. This may be done in two ways:
* Shared data is held in a central database or repository and may be accessed by all sub-systems;
* Each sub-system maintains its own database and passes data explicitly to other sub-systems.
When large amounts of data are to be shared, the repository model of sharing is most commonly used as
this is an efficient data sharing mechanism.

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

What is repository architecure graph look like

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

What is the modern view controller patern?

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

What is the Layered architecture pattern?

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

What is the Repository pattern

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

What is the Client(s)–server(s) pattern

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

What is the pipe and filter pattern

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

What is a software architecture

A

A (software) architecture is a description of how a (software) system is organised.
Architectural design decisions include decisions on the type of application, the distribution of the
system, the architectural styles to be used (and their ramifications)
Architectures may be documented from several different perspectives or views including a
conceptual view, a logical view, a process view, and a development view.
Architectural patterns are a means of reusing knowledge about generic system architectures.
They describe the architecture, explain when it may be used and describe its advantages and
disadvantages.

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

What is a data flow diagram

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

What is a domain model diagram

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

What is an interaction model diagram

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

What does a use case table look like

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

What is the software development life cycle?

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

What is the waterfall model?

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

What is the waterfall model?

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

What is the iterative and incremental model

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

What is the spiral model

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

What are the agile values

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

What are the agile principles

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

What is agile?

A

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

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

What is SCRUM

A

Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one.

-A “process framework” is a particular set of practices that must be followed in order for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so forth.)
-“Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done.

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

What are user stories

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

What is the sprint cycle

A
29
Q

What is the scrum master

A

-The ‘Scrum master’ is a facilitator who arranges daily meetings,
tracks the backlog of work to be done, records decisions, measures
progress against the backlog and communicates with customers and
management outside of the team.
* The whole team attends short daily meetings where all team
members share information, describe their progress since the last
meeting, problems that have arisen and what is planned for the
following day.

30
Q

What is extreme programming

A

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

31
Q

What are some problems with agile methods

A
32
Q

What is Version control?

A

Version control, also known as source control, is the practice of tracking and managing changes to software code. Version control systems are software tools that help software teams manage changes to source code over time.

33
Q

Why do we need version control?

A

Without version control, we cannot recreate the project history
― We cannot revert to an older version
- To discard recent changes (e.g., started work on a new implementation of
an API and gave up)
- To investigate when a bug was introduced
― We cannot compare a current version to an older one
― We cannot figure out when a particular section of code was added/updated
and why

34
Q

What is DevOps

A

DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development. DevOps practices involve developers and operators’ processes, architectures, and tools. DevOps is also a movement –like agile

35
Q

What are two devops build tools?

A
36
Q

Whare are three devops Continuous-integration tools

A
37
Q

Whar are three devops Provisioning tools

A
38
Q

What is a microservice architecutre?

A

A microservice architecture – a variant of the SOA structural style – is an architectural pattern that arranges an application as a collection of loosely-coupled, fine-grained services, communicating through lightweight protocols.
*A microservice architecture is
–A collection of independently deployable processes
–Packaged as services
–Communicating only via messages

39
Q

What does microservice architecture look like?

A
40
Q

How does microservice architecture
reduce requirements for coordination?

A

*Coordination decisions can be made
–incrementally as system evolves or
–be built into the architecture.
*Microservice architecture builds most
coordination decisions into architecture
*Consequently they only need to be made
once for a system, not once per release.

41
Q

What are some issues with microservices

A
42
Q

What are the two different types of miacroservices

A
43
Q

What model does GIT use?

A
44
Q

What are the parts of a git DAG diagram

A
45
Q

What are the 5 kinds of testing

A
46
Q

What are the two different TYPES of testing

A
47
Q

What is black box testing

A

Black Box Testing is a software testing method in which the functionalities of software applications are tested without having knowledge of internal code structure, implementation details and internal paths.

48
Q

What is white box testing

A

White Box Testing is a testing technique in which software’s internal structure, design, and coding are tested to verify input-output flow and improve design, usability, and security. In white box testing, code is visible to testers, so it is also called Clear box testing, Open box testing, Transparent box testing, Code-based testing, and Glass box testing.

49
Q

What are the advantages of white box testing and what are the disadvantages

A

Advantages of White Box Testing

Code optimization by finding hidden errors.
White box tests cases can be easily automated.
Testing is more thorough as all code paths are usually covered.
Testing can start early in SDLC even if GUI is not available.

Disadvantages of White Box Testing

White box testing can be quite complex and expensive.
Developers who usually execute white box test cases detest it. The white box testing by developers is not detailed and can lead to production errors.
White box testing requires professional resources with a detailed understanding of programming and implementation.
White-box testing is time-consuming, bigger programming applications take the time to test fully.

50
Q

What is top down integration strategy

A
51
Q

What are the issues with top down integration

A
52
Q

What is bottom up integration testing

A
53
Q

What are the issues with bottom up integration testing

A
54
Q

What is sandwhich integration testing

A
55
Q

What is Fuzz testing

A
56
Q

What are the different fuzzing approaches

A
57
Q

What is mutation testing

A

Faults are introduced into the program by creating many versions
of the program called mutants
* Each mutant contains a single fault
* Test cases are applied to the original program and to the mutant
program
* The goal is to cause the mutant program to fail, thus
demonstrating the effectiveness of the test suite why?

58
Q

What is the mutation testing algorithim

A
59
Q

What is the mutation score for a set of test cases

A
60
Q

What are the main steps of metamorphic testing?

A
61
Q

What is an example of metamorphic testing?

A
62
Q

What is the amazon agile case study

A
63
Q

What are two main components of metamorphic testing?

A

Metamorphic testing is an approach to both test case generation and test result verification.

64
Q

What is a test oracle?

A

a test oracle (or just oracle) is a mechanism for determining whether a test has passed or failed.[1] The use of oracles involves comparing the output(s) of the system under test, for a given test-case input, to the output(s) that the oracle determines that product should have.

65
Q

What is partition testing

A

Equivalence Partitioning Method is also known as Equivalence class partitioning (ECP). It is a software testing technique or black-box testing that divides input domain into classes of data, and with the help of these classes of data, test cases can be derived.

66
Q

What is random testing

A

Random testing is a black-box software testing technique where programs are tested by generating random, independent inputs. Results of the output are compared against software specifications to verify that the test output is pass or fail.

67
Q

What are the four values of agile manifesto

A

Individuals and interactions over processes and tools. …
Working software over comprehensive documentation. …
Customer collaboration over contract negotiation. …
Responding to change over following a plan.

68
Q

What is a centersalised version control system

A

A centralized version control system offers software development teams a way to collaborate using a central server. In a centralized version control system (CVCS), a server acts as the main repository which stores every version of code.

69
Q

What is a distributed version control system

A

In software development, distributed version control is a form of version control in which the complete codebase, including its full history, is mirrored on every developer’s computer