A2 System Analysis Flashcards

(11 cards)

1
Q

Computational thinking

A

Computational thinking is a way of solving problems using methods that computers use.

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

Decomposition

A

Decomposition means breaking a large, complex problems into smaller, easier-to-solve sub problems. This makes development faster, clearer, and more efficient.

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

Importance of decomposition

A

The subproblems are easier to manage throughout the software development process due to splitting a large problem into smaller manageable chunks that can be assigned to individual teams. If a complex problem is not decomposed the project will be too difficult to solve and become unmanageable. If a problem is too complex it is prone to errors, bugs and going over its initial costs. Enables code reuse as modules are written to be reused across programs.

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

Abstraction

A

Abstraction is the process of ignoring or removing unnecessary information and data to allow developers to focus on the important details of a specific subproblem.

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

Importance of abstraction

A

Makes complex systems easier to design and understand. Let’s programmers focus on what matters. Reduces cognitive load. This allows developers to identify common solutions to the general problem they have abstracted. If a problem is not abstracted the solution can become unnecessarily complicated. Abstraction allows developers to think about a problem in more general terms.

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

Waterfall Model

A

The Waterfall model is a linear, sequential approach to software development. The Waterfall approach involves stages including requirements gathering, design, implementation, testing and maintenance. Each stage must be completed before the next one can begin. Once one stage is completed the development team cannot go back. It is commonly used for large, complex projects that require a high degree of planning and documentation. Direct changeover is suitable because it replaces the old system with the new one all at once.

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

Agile Model

A

The Agile method is an iterative and incremental approach. The Agile approach involves breaking down the project into smaller, manageable pieces called sprints. Each sprint is focused on delivering a specific set of features or aspect of a system. The Agile method facilitates collaboration, flexibility, and feedback from a development team. This allows for continuous improvement throughout the development process unlike in the Waterfall approach. This could prove much more costly if the number of changes are frequent. This method requires a high degree of collaboration and communication between development teams and end-users. Phased changeover works well as new features are introduced in stages, allowing users to adapt gradually and reducing risk, though it takes more time and planning.

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

Advantages of Waterfall Model

A

Time is easy to allocate to each phase. Client knows what to expect in terms of time frame, size and cost of the project. They know exactly what their product will do. Requires less communication between client and the developer.

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

Disadvantages of Waterfall Model

A

If the initial requirements of the project are faulty in any way the project is almost guaranteed to fail. The project is only tested once when completed and if bugs were made early on a large amount of the code will be affected. If the clients needs change as the project goes on it will take longer than expected.

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

Advantages of Agile Model

A

Caters for changing requirements – allows them to change quickly and often. A version of the solution is available quickly and can be immediately evaluated. Testing is done at the beginning of the project ensuring that bugs are found earlier in the process. Supports modular programming as developers start of with a simple design and break it into modules rather than working on the whole project from the start.

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

Disadvantages of Agile Model

A

With no limit to the number of cycles the project can over run and hard to predict when it will be completed or how much it will cost. It can be hard to employ new people on to a team when you don’t have a clearly defined structure and start/end times.

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