Unit 3 - Software development Flashcards

1
Q

What is analysis?

A

Before a problem can be solved it must be defined. The requirements of the system that solves the problem must be established. For a website:
the data - its origin, uses, volumes and characteristics
procedures - what is done where when and how
the future - development plans and expected growth rates
problems with any existing system

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

What is design?

A
Depending on the type of projects a system designer may consider :
processing
data structure
output
input
UI
Security
hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the waterfall lifecycle model and when is it used? - in addition, mention drawbacks/advantages

A

In the waterfall model, every step is completed one at a time from beginning to end. Each step has specific outputs that lead into the next step. The user/customer is involved at the start of the process and in the analysis but has little input until the evaluation. It is suitable for small projects - but the absence of user involvement is a serious drawback. It is possible to return to a previous stage but the model shows that the developers then have to work back down the following stages.

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

What is the Spiral model and when is it used? - in addition, mention drawbacks/advantages

A

The spiral model uses the same structured steps (analysis design implantation evaluation). However, it introduces the idea of developing the software in iterative stages. Each loop creates a prototype. Advantage: More user involvement and it is much easier to examine a working prototype to figure what needs to be done to turn it in a working system

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

What is Agile modelling and when is it used? - in addition, mention drawbacks/advantages

A

Stages of software development may not be completed in a linear sequence. Some parts of the analysis might not be completed while some parts are implemented. This is a NON-LINEAR APPROACH. Prototypes are built to make sure that the project is in line with user requirements. Its success depends on - keeping the model simple
Rapid feedback from the user
Understanding that user requirements may change
Being prepared for incremental changes.

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

What is extreme programming?

A

Extreme programming is a software development methodology that is intended to improve software quality and responsiveness to change. It’s the most specific of the agile frameworks regarding appropriate engineering practices for software development.

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

What kind of problems are solved by algorithms?

A

Internet-related algorithms
Route finding algorithms
Compression algorithms
Encryption algorithms

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

What are programming paradigms?

A

Different programming languages support tracking problems and in different ways and there are four major programming paradigms.
Procedural programming: Have a series of instructions that tell the computer what to do with the input in order to solve the problem. Structured programming is a type of procedural programming that uses the programming constructs of sequence, selection, iteration and recursion. It uses modular techniques to split large programs into manageable chunks
Objected oriented: Make it possible to abstract details of implementation and make code reusable
Declarative: describe the problem being solved.
Functional: are used as the fundamental building blocks of a program. Statements are written as a series of functions that accept input data.

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

Object-oriented languages

A

We define a class as the description of what the data looks like and what the data can do. Programming in an objected-oriented language requires thinking in terms of objects that will carry out a task.

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

Polymorphism

A

Refers to a programming language’s ability to process objects differently depending on their class.

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

Advantages of the object-oriented paradigm

A

The object-oriented methodology forces designers to go through extensive planning.
Encapsulation: the source code for an object can be written, tested and maintained independently of the code for other subjects.
Once an object is created the knowledge of how its methods are implemented is not necessary
An object-oriented program is much easier to maintain than one written in a procedural language

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

Assembly language

A
ADD - Addition
SUB - Substract
STA - Store
LDA - Load
BRA - Branch
Brz - Branch if zero
BRP - Branch if positive
INP - Input
OUT - Output
HLT - Halt
DAT - Data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly