IB Computer Science

24
IB Computer Science Section 1: Systems life cycle and software development

description

IB Computer Science. Section 1: Systems life cycle and software development. The systems life cycle. Stages. The guide gives these five as the stages of the software life cycle Analysis : Data collection, interviews, etc, user requirement, feasibility report - PowerPoint PPT Presentation

Transcript of IB Computer Science

Page 1: IB Computer Science

IB Computer ScienceSection 1: Systems life cycle and software development

Page 2: IB Computer Science

The systems life cycle

Analysis

Design

Implementation

Operation & Maintenance

Page 3: IB Computer Science

StagesThe guide gives these five as the stages of the software life cycle Analysis: Data collection, interviews, etc, user requirement,

feasibility report Design: Data structures, algorithms, files. Hardware

requirements. Data flow and object model. Implementation: Also called installation.

Direct changeover Phased introduction Parallel running

Operation: Detailed planning using GANTT and PERT charts Maintenance: Bug fixingBut I have also seen these on past exam papers Validation Documentation

Page 4: IB Computer Science

Analysis: Data collection methods

Page 5: IB Computer Science

Analysis: Requirements Specification

Defining what the client wants Inputs: what data/information will

the system require Outputs: what information is

expected from the system Human resources requirements Schedule

Critical success factors. Key objectives.

Page 6: IB Computer Science

GANTT and PERT charts

GANTT List of activities Order in which they are to

be done Total time required

PERT Module diagram Dependencies between

modules

Page 7: IB Computer Science

Analysis: IPO

Input Processing Output

What data or

information will the system need?

What will the system do to

the data? How will

information be stored and represented?

What information should the

system give its users?

Three stages of programming:

Page 8: IB Computer Science

Analysis: Feasibility Report Feasibility means “Can it be done?” Brief description of the proposed

system Estimated costs Financial, technical, legal

responsibility Estimated completion date

Page 9: IB Computer Science

Analysis: Systems Flowcharting

Tape Storag

e

Disk Storag

e

Document

Process

Input/ Output

Manual Input

Documents

Page 10: IB Computer Science

Analysis: Pay System Example

Master FileTransaction

File

Payslips

Calculate Pay

Hours worked

Updated Master

File

(Inputs)

(Processing)

(Outputs)

Page 11: IB Computer Science

Analysis: Systems FlowchartPast Paper Question

Page 12: IB Computer Science

Analysis: Systems FlowchartPast Paper Answer

Customer orders are collected on paper, keyed in, and stored in a customer orders file. A stock master file is searched to determine whether sufficient stock is available, and a report produced.

The mark scheme awarded one mark for each of the boxes, up to a maximum of five boxes. In my opinion you could have left out the keyboard input, or you could have specified the master file as tape drive (sequential access storage), and you would still get full marks.

Page 13: IB Computer Science

Analysis: Review Why is data collection important? What are the methods of data

collection? What is a requirements specification? What does it contain and

what purpose does it serve? Outline the features of a feasibility report. Annotate the systems flowchart you created in the past paper

exercise. Try to think of another computerised process you could model with a systems flowchart. Discuss with a colleague and prepare the flowchart.

Resources: Computer Science Java Enabled, IB Computing website, Richard Jones’ site (Int. Sch. Toulouse).

Page 14: IB Computer Science

Design Stage Forms (data capture)

How the data will get in to the system Classes, Data structures and Input Files

How the data will be represented and stored Algorithms

How the data will be processed Hardware

The components required Reports, Lists, Output Files

What will the output of the system be? Systems Flowchart

Showing the whole system

Page 15: IB Computer Science

Other concepts Modularity: Breaking down the software to make it easier

to understand. Can be done in several ways. Classes, input-related, output-related, processing-related.

Prototyping: Quickly building a partially-functioning version of the system with a view to getting constructive feedback from the user to help clarify the requirements.

CASE tools and IDEs: Computer Aided Software Engineering and Integrated Development Environment. Provide useful tools such as debugging, code-highlighting, entity-relationship diagrams, automatic instance variable encapsulation, etc.

Page 16: IB Computer Science

TestingImagine you have a textbox that should only accept values from 0-100. Normal data: Data that the system should expect, ie that is well

within the normal range. Eg 23, 56, 89, etc Extreme data: Data at the boundaries of what is acceptable, eg -

1, 0, 1, 99, 100, 101 Abnormal data: Data that is outside the normal range of

expected data and which perhaps should produce an error, eg -34, 155.

Also be familiar with tracing algorithms, debugging White-box testing: Testing done by the programmer, focusing on

an understanding of how the program should function Black-box testing: Testing done by the user, focusing on an

understanding of what the program should achieve, but not how it should achieve it.

Page 17: IB Computer Science

Implementation Parallel running:

Keep the old system and the new system running at the same time. Adv: No disruption to business because even if new system doesn’t work, old system is still available. Disadv: Twice as much work required to keep both systems running.

Phased introduction: Bring the new system in gradually, replacing the old system function by function. Adv:

Can be the best of both worlds between Parallell Running and Direct Changeover. Disadv: Not often possible to replace a system bit by bit.

Direct changeover (big bang): “Flicking the switch” between old system and new system. Adv: Avoids extra overhead

of having two systems running in parallel. Disadv: Disruption to the business if the new system doesn’t work properly.

Things to consider: Bugs in the new system Cost of running two systems in parallel Training new users Interruption to business

Page 18: IB Computer Science

Operation and Maintenance Constant review Performance evaluation Bug-fixing Feeds back into the Analysis stage to create a cycle

Documentation Two types:

System documentation: Intended for programmers so they can maintain the system. Lists and descriptions of modules, classes, variables, data structures, hardware requirements, etc.

User documentation: Intended for users of the system so they can operate it usefully. Illustrated instructions, how to install, how to operate, etc.

Page 19: IB Computer Science

Master File vs Transaction File Master File

Permanent Complete set of records

Transaction File Temporary Contains only those records that have been

changed recently Used to update the master file

Page 20: IB Computer Science

Batch vs Online vs Real-TimeBatch Processing A large amount of input happens over time and then then whole set of

input is processed in one go Examples: Any monthly billing, eg internet billing (you access the

internet lots of times over the course of a month, then at the end of the month your ISP totals your usage and gives you the bill)

Online Processing (also known as interactive processing) Input is processed (almost) immediately Example: Flight booking system. As soon as you book the seat it is

yours. Can you explain why flight bookings could not be processed in batches?

Real-Time Processing Input is processed immediately and continuously There is generally no user Input comes from sensors Examples: Auto-pilot. Large volume of data harvested from multiple

sensors continuously. System reacts in real time.

Page 21: IB Computer Science

Validation vs VerificationValidation A validation check just checks if input is possible, appropriate or

reasonable Keppler accidentally enters 81 for his age, instead of 18 This is valid because he could be 81 Validation check does not check if it's actually true Examples are range check (eg is aged entered between 0 and 100)

and type check (eg has the user entered a number rather than a string)

Verification The process of checking if data is true, factually correct Two ways of doing it:

Visual checking, ie proofreading Double-entry of data, ie inputting the whole data set again and checking if

both sets are the same

Page 22: IB Computer Science

Social Effects of Computer Systems Positive

More leisure time for people because computers do their work Online commerce reduces the need for travel Communication more immediate More accessibility for elderly or disabled people Computers can do dangerous/repetitive jobs Labour-saving devices eg washing machines, security systems, etc

Negative Training required Purchase of a computer sometimes required (cost) Unemployment in areas where computers do work, eg factories Longer hours worked by people always contactable eg email, mobile phone Some health issues, eg eye-strain, back problems, RSI (repetitive strain

injury)

Page 23: IB Computer Science

SL P2 N 2009

Page 24: IB Computer Science

SL P1 M 2009