1 / 11

IB Computer Science: 1.6 Software Design

IB Computer Science: 1.6 Software Design. Created by Kevin Scott. Common input methods: Manual entry- keyboard, mouse, numeric keypad, touch screen

chelsey
Download Presentation

IB Computer Science: 1.6 Software Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IB Computer Science:1.6 Software Design Created by Kevin Scott

  2. Common input methods: • Manual entry- keyboard, mouse, numeric keypad, touch screen • Direct Data entry- OMR(Optical Mark Recognition), OCR(Optical Character Recognition), MICR(Magnetic Ink Character Recognition), barcodes(optical machine-readable representation of data) • Automatic entry- sensors, buttons, switches • Common output methods: • Hardcopy output- hard means permanent; outputs are printed reports and graphic plots • Softcopy output- soft means temporary; outputs are monitor screens and graphic displays • Physical output- actuators(mechanical device for moving or controlling a mechanism or system) and relays(electrical switch) 1.6.1 Data Requirements

  3. The design of data types is very important since, once a system is put into operation, they are difficult to change. • An operating system must provide a user interface. The two most common are GUI and CLI. 1.6.1 Data Requirements (cont.)

  4. The software parts of a solution need to be designed in detail, with a common starting point being a module diagram. • The “top-down design” is used to break down a problem into smaller components. • An example of “Stepwise refinement” would be if the Client Data System would need to be broken down further to update the client file. 1.6.2 Modular Design

  5. Modules can be refined to a certain level that deals with input, processing, and output of data items. • Pseudocode can then be written as the final level of detail to program the modules. • In Java, modules are called classes, where each class includes the programming code and the data it operates on. 1.6.2 Modular Design

  6. Local variables and parameters are used to help reduce the inter-dependence of modules which can present many problems on large scale projects. • Modern languages are able to combine procedures with the data on which they operate (e.g. classes or objects) and prevent other objects from accessing their internal structure. 1.6.2 Modular Design

  7. Benefits of developing a solution using modules: • Errors are easier to locate • Testing and debugging easier as result • Work can easily be split among a team with each person or group assigned to a module. • Developed system in shorter time • Easier for an individual to program a small module. • The work on a module can be abandoned without difficulty if problems are found. • System easy to understand and maintain when broken into small units 1.6.2 Modular Design

  8. Prototyping is producing a simple version of a system during the design stage. • It is required in the dossier design stage. 1.6.3 Prototyping

  9. Prototyping is used to show the user an interface and give an indication to how the system will be expected to work. • It is not a full working version, but rather allows the user to suggest changes at the design stage. • Different systems may be used to present the prototype than the system that will eventually be used for the final version. 1.6.4 Prototyping Approach to Systems Design and Development

  10. The user can give concrete feedback to the designer. • The earlier that changes can be made means less time wasted and less money spent. 1.6.5 Advantages of Prototyping

  11. An estimate of the storage required by a file of records can be determined if he number of bytes is known for each fundamental data type. newtype STUDENTRECORD record FORENAME string SURNAME string BIRTHDATE string SEX character FORM character endrecord • If we know that there aren’t more than 800 students in the school, the we can calculate the size of file that we would most likely need: • 800*62=49600 bytes=almost 50 KB. • In addition, the time it will take to search the file can be calculated. 1.6.6 Efficiency of Solutions

More Related