Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "IB Computer Science: 1.6 Software Design Created by Kevin Scott."— Presentation transcript:

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

2 1.6.1 Data Requirements 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)

3 1.6.1 Data Requirements (cont.) 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.

4 1.6.2 Modular Design 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. Library system Client Data system Book Data system Loans and Returns

5 1.6.2 Modular Design 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.

6 1.6.2 Modular Design 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.

7 1.6.2 Modular Design 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

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

9 1.6.4 Prototyping Approach to Systems Design and Development 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.

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

11 1.6.6 Efficiency of Solutions 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 STUDENTRECORDrecord FORENAMEstring SURNAMEstring BIRTHDATEstring SEXcharacter FORMcharacter endrecord FORENAME25 SURNAME25 BIRTHDATE8 SEX1 FORM3 Total:62 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.


Download ppt "IB Computer Science: 1.6 Software Design Created by Kevin Scott."

Similar presentations


Ads by Google