October 29, 2023

IB Computer Science - Unit 1 notes

1 Major Sections:

* Requirements analysis
* Design
* Implementation
* Testing
* Evolution

Before any system was developed, we need a plan. We need a map. Purpose of the system, background, framework, situation surrounding. (Maybe it’s hard to pay, access, costly, procedures, psychological effects)

Extension of the vocabulary.

Setting & Context: Structure, Purpose, scenario, Who What When Where How

System fundamentals:

- A computer system encompasses not only the physical hardware components of a computer (like the CPU, memory and storage devices), but also the software that makes use of this hardware (like the operating system and applications), the users will interact within the system.

- It can vary widely in complexity and scale, ranging from a simple personal computer or mobile devices

Reality Check:

  • New systems very rarely came in a vacuum
  • Normally replacements for a less efficient system that came before
  • The context in which it will be used is important to be understood

Legacy:

  • Replaced bit by bit

Considerations:

  • The extent of the new system (Everything has to be planned
  • The limitations of the new system

2 Why we need Change Management: Change, and risk accessment

  • Users don’t like change
  • New systems might omit old features
  • Old systems might be faster in certain circumstances
  • People find change complex
  • From a technology perspective, change might lead to incompatibility
  • There might be data loss during migration
  • Expensive (In terms of money)

Change must be managed: Describe the evaluation with provision of the following points

  1. Plan
  2. Communicate
  3. Integrate
  4. Evaluate

1.1.3 Compatibility issues & Legacy systems or business mergers

Legacy system: Old method, technology, computer system, application program, that may or may not supported / available for purchase anymore. No longer actively supported by the developers. System will still have to be supported as there are users and demand. Does not require update.

Famous legacy systems:

  • Hardware
    • Floppy disks
    • Parallel printer cables
    • Connections (PS2)
  • Software
    • Microsoft Windows xp (2001, October 25)

Why?

  1. Could be because of potential data loss
  2. Lower performance
  3. Technical limitation
  4. Higher maintenance cost

Problem of maintaining legacy systems:

  • Applications in the legacy / outdated system do not have upgrades
  • Safety -Legacy system have no Security patches
  • Compatibility
  • Performance
  • Documentation of the legacy system might be missing
  • Data cannot be converted to newer formats
  • Legacy systems are typically large and complex systems / mainframes, so programs might be expensive to change
  • Difficult to find system engineers with the old operating systems to maintain the system

Merger: combination of two entities, was not exactly the same as Acquisition.

  • Schuabb & App Ameritrade

Systems might merge! Merger: A combination of two things, especially companies, into one.

  • Language differences
  • Part of the business operating in a different country uses an older version of a system
  • If workers delegate, will their laptops work in other departments?
  • Systems may not using the same software

Mergers can be very tricky:

  • Issues of software compatibility
  • Language differences
  • Time zone differences
  • Workforce cultural differences

Software errors are normal.

1.1.4 Planning & System installation

  • Implementation of systems using a client’s hardware with hosting systems remotely
  • Some filters can be customised
  • Cloud computing systems

Advantages of cloud computing:

  • Blazingly fast
  • No installation required
  • Auto updates
  • Get started in 1 minute
  • Nightly backups

Adobe cloud: Did their change management very well.

Netflix model change:

  • With board band internet becoming more widespread, Netflix foresaw the potential of online streaming for movies and TV shows.
  • They gradually introduced streaming alongside their DVD device. Initially as a free add-on for existing subscribers.
  • As they expanded customers to switch over.

Blackberry ’s failed change management:

  • Underestimated the demand for big phones

Disadvantages of cloud computing:

  • Data privacy and security (Data loss / theft)
  • Permanent loss of data
  • Need internet to connect the cloud storage

Local vs remote software (SaaS/cloud):

  1. Local: Buy a prgram and install it on a particular computer or set of computers
  2. Remote: Buy/Rent/Use software

SaaS (Software as a service):

  • Software distribution model (in which a third-party provider hosts applications and makes them available to customers over the internet)
  • On-demand software, hosted software or web-based software
  • Security, availability and performance
  • Does with the traditional software installation, maintenance and management approaches in favour of delivering cloud-based applications via the internet

Benefits of being "Cloud-based"

  • SaaS is great for any organisation that wants to minimise its IT responsibilities and costs
  • Well suited to small business as they can adjust its SaaS subscription on a monthly basis
  • Reduction in staff workload
  • Organisation can backup and run immediately in the event of a service outage or more dramatic disruption.

Drawbacks of being "Cloud-based"

  • Integration issue - Hosted software connect with existing on-premise apps
  • Security - Sensitive company data and business processes are entrusted to a third-party service provider
  • Government compliance regulations inherent - to storing customer data in a remote data center

1.1.5 Installation Processes

  • Direct changeover
    • (Comparative) Pro: Minimal time sand effort, new system is available immediately
    • Con: If the new system fails, there is no fall back
  • Parallel running: Side by side, concurrent
    • Pro: Old system has a back-up part
    • Con: Following two systems is timely and costly
  • Pilot running: Often is a beta test, small subset of the organisation
  • Phased conversion: Introduced in phases as parts of the system are gradually replaced by new system
  • Gantt charts
  • How do you move a big database = Data migration
    • Putting a file on a USB flash drive

Possible problems:

  1. Incompatible file formats
    1. Software may have different versions
  2. Data structure differences
    1. Moving data from a table to a flat file, or from an array
  3. Validation rules
    1. Applied to inputs. If these are different at thedestination than at the source, data will be rejected and lost.
  4. Incomplete data transfers
    1. If the actual transfer is interrupted, only part of the data willbe at the destination, leading to loss.
  5. International conventions on dates, currencies & character sets
    1. The $ might mean US dollars, but could be taken to meanZimbabwe dollars which use the same symbol but is worth significantly less

Static VS Dynamic testing

Static :

Dynamic :

Black box VS white-box testing:

  • Black box: Treat the software under test as a black-box without knowing its internals. Tests are using software interfaces and trying ot ensure that they work as expected.
  • White box:

User acceptance testing:

  • Usability testing
  • User acceptance testing
  • Happy users = more productive users = good for developers

Automated testing:

  • Control the execution of tests, then compare actual t4est results with predicted or expected results
  • Automation is used to add additional testing

1.1.7: Various types of testing

  • Very important in THE DEVELOPMENT PHASE OF A SYSTEM (APP / SOFTWARE/ETC)

1.1.8 User documentation

  • Any document that explains how touse the features and functions of a system to its end-users

Related questions:

1. An international organization is moving its offices from Africa to Europe. All of its data will need to be moved to a new system.The organization will continue to maintain the legacy system.Define the term data migration.a.i.[1]Outline two issues that could arise concerning data migration.a.ii.[4]Outline two aspects of change management that need to be considered, other than data migration.b.[4]Explain one problem of maintaining legacy systems.c.[3]Explain why parallel running is an expensive changeover method.d.[3]

2.Describe one method of implementation for a new computer system.

3. An organisation is implementing a new computer system.The management considered phased conversion and direct changeover as methods of implementation.Identify two organisational issues related to the implementation of the new system.a.[2]Evaluate these two methods of implementation.b.[5]State one type of testing that involves users.c.i.[1]Identify three consequences of inadequate testing.c.ii.[3]Discuss the social and ethical issues associated with the introduction of a new computer system.d.[4]

4. A student posts images and videos on a public website of her friends at a party.Outline one ethical issue with the student posting these images and videos.a.[2]Outline one technical issue that may prevent the images and videos from being viewed.b.[2]

5.A business’s computer system needs to be updated.The new system is now ready for implementation.Identify one stakeholder to be considered when planning the new system.a.i.[1]Outline one consequence of not including all stakeholders in the design of the new system.a.ii.[2]Describe two appropriate techniques to gather the information needed to find a suitable solution for the updated system.b.[4]Outline one reason testing should take place at every stage of the development process.c.[2]Evaluate two methods the business could use to implement the new system. Include the benefits and drawbacks of each.d.[6]

SaaS is the software as a service which ensured that users are able to use local hardware or utilise the cloud

New systems are run concurrently for the purpose of lower risk as there are old system to fall back on and take over, but it cost more to maintain both systems together so it’s more expensive.

Pilot installation

Concurrent