hehe sams cards Flashcards

1
Q

What is the system development lifecycle?

A

AnalysisDesignImplementationEvaluationMaintenance

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

What information might a system analyst collect? (2)

A

What the current system doesWhat the new system needs to do

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

What might a system analyst do to collect information? (4)

A

Interview people who will use new softwareUse questionnaires to gain large amounts of informationObserve what the current system doesLook at existing documentation

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

What does a system analyst give back after an analysis?

A

A system documentation used to evaluate the final product.

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

What does or should a software design document include?

A

A description of the data (data types, format and validations),Database design and management (if appropriate),Input / output screens and reports,How the data will be processed,How the software will be tested

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

What happens in the implementation phase of software development?

A

Coding and testing the software,Writing user and technician documentation,Installing software for the user

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

What are the two types of testing?

A

Black box and white box

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

What is white box testing?

A

Testing the code logic by testing all the possible paths on your program.

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

What is alpha testing?

A

In-house testing that is closed from the public and can reveal many bugs or problems

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

What is beta testing?

A

When (often) commercial software is distributed to potential users to be tested and agree to the testing.

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

Why is beta testing effective?

A

It gains lots of real world info and experience for the developers since people often do things that the original developers didn’t anticipate.

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

What happens in the evaluation phase of software development?

A

People evaluate if the system works and then all aspects of the software are tested. This is evaluated against the original specification document.

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

What is acceptance testing?

A

Testing every aspect of a software then evaluating it against the original specification document

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

What are the three different types of maintenance

A

Corrective maintenance,Adaptive maintenance,Perfective maintenance

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

What is the waterfall model?

A

Similar to the lifecycle model except it doesn’t loop, when you get to the end, you can’t go back up.

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

Advantages of the waterfall model

A

Simple to understandeach stage is separate with good documentation,Projects are straightforward to manage,model works well for smaller projects too

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

Disadvantages of the waterfall cycle

A

Not much user involvement after the analysis stage.Working software not produced until late in the project,User is given the finished product which doesn’t leave much room for improvement

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

When should the waterfall model be used?

A

The product has a clear outcomeNo ambiguous requirementsThe project is short,The technology is well understood

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

What are the four main stages of the spiral model?

A

Analysis, design, implementation, evaluation

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

Advantages of the spiral model

A

Well defined stepsSoftware is produced at an early stage in development.User can give feedback during the iterative processEnd result more likely to be what the user wants.

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

Disadvantages of the spiral model

A

Iterative process is very time-consuming,More costly to develop with the time needed,Not suitable for smaller projects

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

When should the spiral model be used?

A

For medium to high-risk projects,When users aren’t sure of needs or technological possibilities,When requirements are complex,For projects which may take a long time to develop and may need to take advantage of recent/future technological advancements.

23
Q

What is the agile model and how does it work?

A

Software is rapidly developed in development cycles with individually implemented features,Each version improves on previous functionality,Each version is thoroughly tested

24
Q

benefits of the Agile model

A

Software is quickly and continuously developed which leads to good client satisfaction,Working software is frequently published and developed.Good for small, time critical projects,Limited planning to get started.

25
Q

Disadvantages of the agile model

A

Lack of emphasis on proper design and documentation,Product can fail to deliver if the user is not explicit in their requirements,Not suitable for novice programmers

26
Q

When should the agile model be used?

A

When new changes need to be implemented,When the client is an expanding or developing business where their needs are constantly changing and developing

27
Q

What is extreme programming?

A

A type of agile development designed to improve productivity and responsiveness by doing frequent releases and utilizing short development cycles.

28
Q

What can go wrong in a large project that isn’t properly planned and staffed?

A

Costs can spiral,Personnel can change,Requirements can change,Technology advances can make a project obsolete.

29
Q

What is rapid application development?

A

Workshops and focus groups decide on the aims/requirements of a project. Prototyping is then used alongside user feedback to refine the product over strict, short-term time frames. Software components are also reused as frequently as possible.

30
Q

What are the properties of a good algorithm?

A

IT must have clear and precise stepsShould allow for invalid inputsMust terminate at some pointShould do the task in as small time as possibleShould be understandable by others

31
Q

Give 2 examples of sorting algorithms

A

Bubble sortMerge sort

32
Q

What is a paradigm?

A

A style or a way of programming

33
Q

What is a procedural programming language?

A

Standard, top-down (in terms of the run time) programming language

34
Q

What is an imperative programming language?

A

Languages that support imperative programming tell the computer what to do with the input in order to solve the problem.

35
Q

What is structured programming?

A

A kind of procedural programming that uses the constructs (sequence, selection, iteration and recursion) rather than ‘goto’ statements.

36
Q

What is a declarative language?

A

Like SQL, you declare what you want in English and describe the problem to be solved.

37
Q

What is logic programming?

A

A paradigm that expresses the logic of a computation without expressing its control flow.

38
Q

Summarize prolog

A

Instead of defining how a problem is to be solved, the programmer defines the facts associated with the program which are always assumed to be true.

39
Q

How does prolog utilize backtracking?

A

If the interpreter attempts to find a solution to a problem but reaches a dead end, it backtracks to the last decision and attempts to take a new route.

40
Q

What is encapsulation?

A

When attributes and methods are wrapped into a single entity (classes)

41
Q

what is a class?

A

A class is a blueprint for an object and defines attributes and methods that capture common characteristics of behaviors or objects.

42
Q

What is information hiding?

A

When an objects attributes are hidden and are only accessible through the objects methods.

43
Q

What is required of an object to access its methods?

A

They must be defined as public

44
Q

What is inheritance?

A

When there is a relationship between sub-classes. Such as, rodents and insects are both their own classes but are also both parts of the class animals.

45
Q

What is polymorphism?

A

When an inherited class may have methods and attributes that do not exist in the parent class.

46
Q

What might polymorphism do to a parent class aside from making new methods?

A

It may redefine methods that are defined in the parent class. For example, all animals can eat, but eagles eat meat and birds eat seeds.

47
Q

Is assembly language hardware specific?

A

Yes

48
Q

What are the three addressing modes?

A

Immediate, Direct, Indirect

49
Q

What is immediate addressing?

A

The operand holds the actual value

50
Q

What is Direct addressing?

A

The operand holds the address of the value

51
Q

What is indirect addressing?

A

The operand is holding the location of the address of the value

52
Q

What three things do immediate addressing, direct addressing and indirect addressing mean in normal code?

A

A variable, a pointer and a double pointer

53
Q

What is indexed addressing?

A

When the computer adds one to an address index to cycle through many addresses essentially building an array.