4.1.14 Identify the parts of a solution that could be implemented concurrently.
4.1.15 Describe how concurrent processing can be used to solve a problem.
4.1.16 Evaluate the decision to use concurrent processing in solving a problem.
is a set of activities which ends with specific accomplishment and which has
Non-routine tasks,
Distinct start/finish dates, and
Resource constraints (time/money/people/equipment).
Break the project into tasks and subtasks.
are activities which must be completed to achieve project goal.
tasks have start and end points, are short relative to the project and are significant (not “going to library”, but rather, “search literature”).
Use verb-noun form for naming tasks, e.g. "create drawings" or "build prototype". Use action verbs such as "create", "define" and "gather" rather than "will be made". Each task has a duration. Very difficult to estimate duration accurately. Doubling your best guess usually works well.
“Milestones” are important checkpoints or interim goals for a project. Can be used to catch scheduling problems early. Name by noun-verb form, e.g. "report due", "parts ordered", "prototype complete".
Your plan will evolve so be flexible and update on a regular basis. It also helps to identify risk areas for project, for example things you don't know how to do but will have to learn. These are risky because you may not have a good sense for how long the task will take. Or, you may not know how long it will take to receive components you purchased for a project.
Gantt charts are a project planning tool that can be used to represent the timing of tasks required to complete a project. Because Gantt charts are simple to understand and easy to construct, they are used by most project managers for all but the most complex projects.
In a Gantt chart, each task takes up on row.
Dates run along the top in increments of days, weeks or months, depending on the total length of the project.
The expected time for each task is represented by a horizontal bar whose left end marks the expected beginning of the task and whose right end marks the expected completion date.
Tasks may run sequentially, in parallel or overlapping.
As the project progresses, the chart is updated by filling in the bars to a length proportional to the fraction of work that has been accomplished on the task. This way, one can get a quick reading of project progress by drawing a vertical line through the chart at the current date.
Completed tasks lie to the left of the line and are completely filled in.
Current tasks cross the line and are behind schedule if their filled-in section is to the left of the line and ahead of schedule if the filled-in section stops to the right of the line. Future tasks lie completely to the right of the line.
In constructing a Gantt chart, keep the tasks to a manageable number (no more than 15 or 20) so that the chart fits on a single page. More complex projects may require subordinate charts which detail the timing of all the subtasks which make up one of the main tasks.
For team projects, it often helps to have an additional column containing numbers or initials which identify who on the team is responsible for the task.
Allows for efficient organization – In order for a Gantt chart to be successful, you first need to identify project elements or tasks. If you are using this type of chart you are essentially forced to focus on what truly needs to be done, thus making you somewhat more organized and encouraging a potentially higher chance of success.
Helps establish timeframes – Because many project elements often depend on other tasks, it can be tough to deduce how long one task should take and when to start and finish it by. Gantt charts use bars to indicate how long a task should take and what this does is give you a better perspective of the total project, and timeframe as a whole. Just be sure to consider time factors outside of the project such as holidays.
Highly visual – Gantt charts are visual, and give you an excellent way to instantly see and comprehend all of the different elements in once place, thus bringing thoughts and ideas together. Beyond that the visuals provide users with an easy to see chart of what needs to be done next.
Potentially overly complex – If you’ve ever worked on a complex project, and looked at the Gantt chart, you know that these charts can be large and hard to read. For big projects businesses may need to hire specific managers to look after the details of the project, something which could be costly for small businesses that don’t have an in house project manager.
Need to be updated – Gantt charts are developed early in the planning stages of a project, there is a good chance that the project will change, thus the chart will need to be updated. Also, as tasks are completed or reviewed the chart will need to be updated to reflect these changes too. Any amendments take time, especially if there are dependent tasks that need to also be revised. It is a pretty sure thing that most people involved in the project probably don’t have the time to do this
Don’t show the whole picture – Gantt charts show what tasks need to be done and the time they should take. They don’t show how much work each task will involve or how many people/resources each task will require. This can give some people an incomplete picture or the wrong idea about an individual task, which can cause issues as the project gets underway.
It shows only if the project is on schedule;
It does not show what to do if one part of project is taking longer than expected;
It does not show who is responsible for a particular activity;
It does not show what should be done in other projects which depend on this one, so the result might be an extension of time;
It does not identify critical activities and actions to be taken to make sure the project is not going over the budget;
Gantt charts don't indicate task dependencies - you cannot tell how one task falling behind schedule affects other tasks.
To identify the process for project planning
Mapping out processes
Keep track of a project
What the activities are
When each activity starts and ends
How long each activity is scheduled to last
Where activities overlap with each other and by how much
The start and end dat/time of the whole project
Concurrent processing is a computing model in which multiple processors execute instructions simultaneously for better performance.
Concurrent means something that happens at the same time as something else. Tasks are broken down into subtasks that are then assigned to separate processors to perform simultaneously, instead of sequentially as they would have to be carried out by a single processor.
Concurrent processing is sometimes said to be synonymous with parallel processing.
sequential processing is a term used to describe the processing that occurs in the order that it is received. Sequential processing is in contrast to parallel processing
Three IB students are working on a programming project. They have 10 days to complete the work. To plan the project activities and timeline they produce the following Gantt chart.
a. State two tasks students should perform to define a problem.[2]
b. Identify two tools or techniques that students could use to represent algorithms.[1]
c. Discuss whether beta testing would be appropriate in this scenario.[3]
d. Outline three criteria that could be used when deciding which programming language is to be used for coding.[3]
e. From the Gantt chart above
(i) identify two tasks that could be done concurrently.[1]
(ii) identify two tasks that should be done sequentially[1]
f. Explain why a Gantt chart may not be suitable for planning a large business project.
Batch processing
Real time processing
Online processing
Batch processing is done when there is large volume of data to be processed like preparing electricity bills for 50,000 customers.
Batch processing is collecting all relevant data together, input them to computer and process them in one batch.
Electricity bill preparation
Water bill preparation
Preparing salary slip for all the employees in a company
Bank prepare credit card bills for its customers
Processing cheques, etc
Updating a stock database
Processing can be done when computer is not used for anything else.
Once started, processing will continue automatically without any human intervention.
Sometimes the data need to be processed immediately and there should not be any delay in getting the output.
Real time systems process data immediately and produce the output before the next input.
Real time systems respond very quickly when there is any input.
Booking of flight ticket
Patient monitoring in the ICU - Computer alerts the nurse immediately if any of the patient condition goes abnormal.
Real time processing example - Flight booking
Input - Please reserve seat 12C
Process - Has seat 12C already been booked? No... so book it.
Output - Booking confirmed for 12
An online processing is where the user is directly interacting with a remote computer. User input data directly into the system and then it is processed.
Booking a train ticket using internet.
Booking a cinema ticket.
Ordering for a book online.
Managing a bank account online