what is top down?
An approach that follows hierarchy; higher management delegates work to normal employees:
Starts by defining the solution at the highest level and splitting it down further into smaller routines.
It’s a strategy in which decision-making process occurs at the highest level and then communicated to the rest of the team.
what are the benefits of top down approach
it helps to identify systems.
It brings more clarity on communication between two systems - improve communication between all stakeholders, as everyone is aware of the objectives and the process that needs to be followed.
Easy to code as we have cleared defined expectations at all levels.
Time-saving: The top-down approach can also be time saving, as decisions are made quickly and efficiently. This can help to ensure that the process is completed in a timely manner.
what are drawbacks of top down approach
all decisions made from the start of the project depend directly or indirectly on the high-level specification of the application.
Time consuming: The top-down approach can also be time consuming as it takes longer to make decisions and implement them. This can negatively affect the efficiency of the process.
Too much reliance on initial assumptions: The main drawback of the top-down approach is that it relies too heavily on initial assumptions. This can lead to wrong decisions based on incorrect assumptions, which can be difficult to change or correct later in the process.
Difficult to adjust: The top-down approach is also difficult to adjust to changing conditions since the decisions are already made at the beginning of the process.
what is bottom up approach
The bottom up approach is a process in which decisions are made from the ground up rather than from the top down.
starts with identifying the needs and interests of those at the lower levels of the organization, and then gradually working up to the higher levels in order to create a plan or solution that is beneficial to everyone.
ensures that all stakeholders are heard and that decisions are made with their input and perspective in mind.
what are the benefits of bottom up approach
It’s good for faster innovation.
When modules are broken down, it will be easier to code a program (this will help the library as they will be able to code quicker.)
it makes the program speed quicker (by the speed is quicker, it will help make the system quicker).
Bottom-up is where everyone comes together as a group and has input on the decisions being made regardless of seniority or hierarchy structure
what are drawbacks of bottom up approach
what is modularisation
the practice of breaking up a complex system or process into smaller, more manageable pieces.
By “modularising” a system, it becomes easier to understand, maintain and modify.
allows for better scalability and reliability, as it allows for components to be added or removed without causing disruption to the entire system.
what are the benefits of modularisation
Improved scalability: makes it easier to add new components or features to a system without disrupting the entire system.
Improved maintainability: easier to maintain, as components can be updated or replaced as needed.
Improved reliability: more reliable, as components can be tested individually before being integrated into the system.
what are drawbacks of modularisation
Increased complexity: more complex than traditional systems, as they require more coordination and communication between components.
Increased costs: more expensive to develop and maintain, as they require additional time and resources.
Increased development time: take longer to develop, as each component needs to be tested and integrated into the system.
what is decomposition
involves breaking down a complex problem into smaller parts. The smaller parts can be examined and solved or designed individually.
what are the benefits of decomposition
The different modules can be worked on by different people, increasing productivity and making solving problems faster.
A small module is easier to understand and solve than a large problem.
Improved problem solving: helps to identify the root cause of a problem and make it easier to find a solution.
Improved efficiency: help to improve efficiency, as it allows for tasks to be broken down into smaller, more manageable chunks.
what are the drawbacks of decomposition
By working in smaller sections, it can take a long time to solve the problem on a whole (especially if you are doing it by yourself.)
Poorly understood problems are hard to decompose.
can add complexity to a problem, as it can make it more difficult to identify the root cause of the issue.
Increased risk: increase the risk of overlooking important details which can lead to incorrect solutions.
what is pattern recognition
a data analysis method that uses machine learning algorithms to automatically recognise patterns and regularities in data.
Looking for similarities within problems. You recognize a pattern, or similar characteristics helps break down the problem and build a construct as a path for the solution.
what are the benefits of pattern recognition
we can recognize objects from different angles, making it faster to solve, and more efficient.
Improved problem solving: help to identify hidden patterns and insights in data, which can help to solve complex problems more efficiently.
Improved accuracy: help to improve the accuracy of predictions and decisions, as it allows for more accurate analysis of data.
Improved efficiency: help to improve efficiency, as it allows for faster decision making and problem solving.
what are the drawbacks of pattern recognition
it is difficult to execute
very slow method.
It requires a bigger dataset to acquire enhanced accuracy.
Overfitting: lead to overfitting, which can cause incorrect predictions and decisions.
what is abstraction
the process of filtering out the unnecessary details of a problem and focusing on the important details.
The process instructs us to remove all specific detail and any patterns that will not help us solve our problems.
what are the benefits of abstraction
makes things simpler, easier to change, easier to implement, easier to document.
It lets you focus on the relevant data rather than the unwanted data which is more time efficient.
Improved communication: help to improve communication between different stakeholders, as it allows for more concise and clear explanations.
Improved problem solving: help to identify the root cause of a problem and make it easier to find a solution.
what are the drawbacks of abstraction
Increased complexity: add complexity to a problem, as it can make it more difficult to identify the root cause of the issue.
Loss of detail: cause important details to be overlooked, which can lead to incorrect solutions.
Increased risk: increase the risk of overlooking important details which can lead to incorrect solutions.
what is an algorithm
a process or set of rules to develop a solution to the problems.
By following the instructions correctly, you are guaranteed to get the right answer.
what are the benefits of an algorithm
it is not dependent on any programming language, so it’s easy to understand.
It also uses a definite procedure.
what are the drawbacks of an algorithm
it is time consuming.
Big tasks are difficult to put in algorithms = difficult to show branching/looping.
what is a pseudocode
is a high-level language, basic English, detailed set readable description of what a computer program or algorithm must do.
what are the benefits of a pseudocode
it can be quickly and easily converted into an actual programming language as it is like a programming language.
It is easy to understand even for non-programmers.
what are the drawbacks of a pseudocode
it can be hard to see how a program flows. It can be time consuming to produce.
what is a flowchart
is a graphical representation of an algorithm.
its mistakes can be easily identified. Communication becomes effective and easy to understand.
difficulty in presenting complex programs and tasks. It’s a time-consuming process.