Lesson Objectives Aims You should be able to:

Slides:



Advertisements
Similar presentations
Lesson 6. The Computer Operation Computer Operating Systems GUI vs. Command line The Microsoft Windows Family File Systems – How Computers Manage Data.
Advertisements

Algorithms Today we will look at: what we mean by efficiency in programs why efficiency matters what causes programs to be inefficient? will one algorithm.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Systems Software Operating Systems.
Computer Aided Design/Modelling
Your Interactive Guide to the Digital World Discovering Computers 2012.
Introduction to Systems Analysis and Design Trisha Cummings.
Noadswood Science,  Information Wednesday, September 09, 2015.
Unit B065 – Coding a solution PREP WORK 1)Make sure you keep a work log / diary. Use the table on page 16 of the hand book as a template 2)Keep a bibliography.
Planning for the Solution
11.10 Human Computer Interface www. ICT-Teacher.com.
SOFTWARE REUSE 28 March 2013 William W. McMillan.
Winrunner Usage - Best Practices S.A.Christopher.
Lesson 3 McManus COP  You have to tell them ◦ what to do ◦ what to use ◦ in what order to do itand ◦ what to do if your user does not do what.
Cohesion and Coupling CS 4311
Computational Thinking – Lesson 3 Lesson Objective To be able to construct an algorithm and flowchart for a given problem.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
Memory Management. Memory  Commemoration or Remembrance.
Algorithms & Flowchart
Library Online Resource Analysis (LORA) System Introduction Electronic information resources and databases have become an essential part of library collections.
Lecture 9. MIPS Processor Design – Pipelined Processor Design #1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System.
Chapter 7 Operating Systems Foundations of Computer Science  Cengage Learning 1.
7.1 Operating Systems. 7.2 A computer is a system composed of two major components: hardware and software. Computer hardware is the physical equipment.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
F453 Module 8: Low Level Languages 8.1: Use of Computer Architecture.
What’s going on here? Can you think of a generic way to describe both of these?
Design f. describe a design specification including input design, diagrammatic depiction of the overall system, processing, data structure design and output.
Advanced Higher Computing Science
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Greenfoot.
Topic 2: Hardware and Software
Chapter Six.
ICS 3UI - Introduction to Computer Science
Tools Of Structured Analysis
Resource Management IB Computer Science.
Netscape Application Server
The Development Process of Web Applications
11.10 Human Computer Interface
System Design and Modeling
System Design.
Lesson Objectives A note about notes: Aims
CS 641 – Requirements Engineering
CS 641 – Requirements Engineering
TYPES AND COMPONENTS OF COMPUTER SYSTEM
Introduction to Operating System (OS)
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Lecture 2 of Computer Science II
Chapter 1.1 Fundamentals of Computer systems
Chapter 2: Database System Concepts and Architecture
Print slides for students reference
Compiler Construction
Introduction to Systems Analysis and Design
Lesson Objectives Aims Understand how machine code is generated
Lesson Objectives Aims You should be able to:
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Chapter 3 Hardware and software 1.
Chapter Six.
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
Programming Fundamentals Lecture #3 Overview of Computer Programming
Chapter 3 Hardware and software 1.
Thinking Ahead
CS203 – Advanced Computer Architecture
Mastering Memory Modes
ICT Gaming Lesson 2.
Little Man Computer There’s a little man in the mailroom that follows each instruction to the letter but he can only follow one instruction at a time.
Basic Concepts of Algorithm
WJEC GCSE Computer Science
Programming Logic and Design Eighth Edition
Presentation transcript:

Lesson Objectives Aims You should be able to: Identify the inputs and outputs for a given situation Determine the preconditions for devising a solution to a problem You should be able to discuss: The nature, benefits and drawbacks of caching The need for reusable program components

What’s it about This section is really all about planning and resourcing Before a project begins, research should be conducted: What do current systems do How do they work (exactly) What is needed What resources do you need to make a new system? How will you work efficiently

Inputs and outputs A system design should start with the outputs What is this system actually meant to do? We can then work backwards to identify the processes required to generate these outputs… …and the inputs these processes will require!

Task Programs will have a number of inputs and outputs that form some element of the final outcome of the coded solution. These inputs are combined with processes to create outcomes.

Task 1 Consider a simple game of hangman to find a six letter word. List all the Inputs List the outputs

Now consider the processes and decisions that take place when a letter is selected or entered. The letter is either correct or incorrect – this can be considered as a process. The response that is fed back to the player is an output Create a flowchart diagram showing the inputs, outputs, processes and decisions for the hangman game Can your design be refined?

Caching Caching is the idea of keeping a local store of data to speed up a process It may contain: Frequently used data Frequently used instructions Data that a system has predicted it will need next (pre-fetching)

A cache may be used in many scenarios: Caching A cache may be used in many scenarios: Storing instructions and data in a CPU In a database system On a proxy server in a network By large website hosts and ISP’s

Advantages Caching will significantly increase system performance as data is available locally, almost immediately Saves waiting for long read/write operations Prevents repeated read/write, fetch/store operations Can reduce bandwidth/network usage

Disadvantages Can be very complex to set up, especially in DB systems Can cause synchronisation issues – is the cache the most up to date or the data store? Difficult to code prediction routines If there is a cache “miss” (a branch unexpectedly happens in code or similar) then the whole cache must be flushed and refilled causing a stall in performance

This is because if you want to do something, it’s probably: Reusable Components The phrase “don’t reinvent the wheel” is constantly reiterated in Computer Science This is because if you want to do something, it’s probably: Already been done Tested Proven to work well

This is where reusable code comes in: It simply wouldn’t be feasible with the complexity of modern systems to write code that deals with every eventuality This is where reusable code comes in: Libraries Classes DLL’s

By re-using code we can focus on developing new functionality Existing libraries may cater for: Drawing and handling the user interface File load and save Memory management Mathematical functions Input and output operations Graphics

Examples of re-use Component Example Software module or library Import Random Entire component reuse Menu or toolbars being reused across suites of software Programming language Reusing the same language across all projects API External re-use, allowing 3rd party access to your features and libraries. Can be re-sold Program Generator A software tool that will aid in the development of a program using standard routines with little user input

Practice Paper

Review/Success Criteria You should know: The