Topic 1—System fundamentals (20 hours)

IB Year  1.1.1   -    1.1.10 ( inclusive )

1.1.1 Identify the context for which a new system is planned

Teacher Notes


Before a system is designed, it needs to be identified what the system should do. To do this is the job of the systems analyst. He looks at the existing system and tries to observe how it works. This can be done using surveys, interviewing users, observing them or by tracing how information is handled by looking at the documents produced by it.

For this, the systems analyst has to factor in a number of things: what existing infrastructure from the existing system can be used? What requirements on hardware and software will the new system have? Are there any ethical issues resulting, for example will the new system make people unnecessary, leading to loss of jobs?

Data Collection

  • Questionnaires
  • Interviews
  • Observation
  • Current system documentation
  • User manuals

1.1.2 Describe need for change management

Teacher Notes

Teacher Notes

Without a proper plan on how the new system will be implemented once it is designed the change from the old system to the new one will not be successful. Many factors will need to be regarded:

  • End user training
  • User's reluctance to change
  • User acceptance testing
  • Type of change over ? 

1.1.3 Outline compatibility issues resulting from situations including legacy systems or business mergers


Without a proper plan on how the new system will be implemented once it is designed the change from the old system to the new one will not be successful. Many factors will need to be regarded:

  • 1
    Legacy System – In computing, a legacy system is a technology, computer system, or application program, that may or may not be supported or available for purchase any more.
  • 2
    Merger – A combination of two things, especially companies, into one
  • Language differences
  • Part of business operating in a different country than host using an older version of a system
  • If an american and an European businesses merge, their unit systems need to be merged (one uses SI units, one doesn’t)
  • Businesses not using same software environment (Microsoft Exchange vs. IBM Lotus Notes)

1.1.4 Compare the implementation of systems using a client’s hardware with hosting systems remotely.

Software as a Service (SaaS): The client does not run its own computer system to handle operations, but lends servers from the software manufacturer that are managed and maintained by the software manufacturer. A great example is SAP.

Advantages

  • No cost in employing personnel to maintain system
  • Software manufacturer can provide help in cases of malfunction
  • Maintenance and updating managed by software manufacturer → they have staff that fully understand the system
  • Client enjoys the professional know-how of the software manufacturer

Disadvantages

  • Data security issues resulting from trusting your information to someone else (loss of control)
  • Host may be in a different time zone, so maintenance can happen at uncomfortable times
  • Because host is not the user itself, user feedback is harder to get

1.1.5 Evaluate alternative installation processes.

Teacher Notes

  • Direct changeover / Big Bang 
  • Parallel running
  • Phased Changeover
  • Pilot running

1.1.6 Discuss problems that may arise as a part of data migration

Teacher Notes

File formats are another worry when concerning the issue of data migration and compatibility. Having the ability to read and write data in the same manner as before, following an improvement or change in a system, is almost certainly the fundamental aspect which is taken into consideration.

Incompatible file formats

Incompatible data structures

Changed units leading to misinterpretation (new system interprets temperature in °C instead of °F)



1.1.7 Suggest various types of testing.

Teacher Notes

esting is very important in developing a computerized system, as it tries to ensure that the system works as expected. A system that does not work as expected (it is buggy) greatly reduces productivity and end user satisfaction.

Testing is usually done in two stages: before the system is delivered and after it has been set up.
Testing in the first stage is often referred to as Alpha testing, while testing in the second stage is often referred to as Beta testing.

Alpha testing involves the engineers who develop the system testing it with data similar to real data while beta testing involves testing by real users with real data.

  • Unit Testing
  • Alpha Testing
  • Beta Testings
  • Integration  testing
  • user Acceptance Testing

1.1.8 Describe the importance of user documentation.

Teacher Notes

User documentation is a crucial part of a system as it is the document that explains the working of the system to the user. A well-made user documentation guides the user through using the system and thus increases productivity. If the user documentation is simple, system implementation can happen faster because users require less training to learn how to use the new system.

Users are non-technical people, they only need to know how to use the system. Therefore, the user documentation does not involve detailed explanations of how the system works.

User documentation supports computer system users, including both hardware and software. Good user documentation can ensure that users are quickly able to adapt to a new system. Documentation is an important part of software engineering. Types of documentation include:

Different Types 

  • Requirements - Statements that identify attributes, capabilities, characteristics, or qualities of a system. This is the foundation for all that is implemented.
  • Architecture/Design - Overview of software. Includes relations to an environment and construction principles to be used in design of software components.
  • Technical - Documentation of code, algorithms, interfaces, and APIs.
  • End User - Manuals for the end-user, system administrators, and support staff.

1.1.9 Evaluate different methods of providing user documentation.

Teacher Notes

Help files: Files supplied together with the system. They can usually be called up with a button in the system.

Advantages

  • Accessible at any time when using the program
  • Give general instructions on how to use the system
  • Give general instructions on how to solve some major errors

Disadvantages

  • They can only be used after system has been installed. They don’t give any help when installing the solution
  • They often only deal with very general errors
  • They often lack a search capability, you have to look to find help for your problem

Online support: Special web service hosted by the system’s developer to provide user documentation.

Printed manuals: manuals printed on paper and supplied together with the system.


1.1.10 Evaluate different methods of delivering user training.

Training staff in using a new system is very important as productivity greatly depend on how familiar users are with a system. Therefore good user training is an essential part of introducing a new system.

Self-instruction: users reading a manual or watching a tutorial, or randomly doing something in the system to figure out how it works. This type of training is only suitable for experienced computer users as they are more confident to start using an unfamiliar system alone to figure out how it works.

Formal classes: users sitting in a classroom listening to an instructor who shows and explains how to use the system. This type of training is useful to train large amounts of staff as it is effective and relatively cheap, but if the size of the classes is too big, there is little time to deal with individual problems and questions.

Remote/online/personal training: an instructor training a single user either by being in the same room or by some kind of remote connection (Skype, chat). This is the most effective way of training as training can be suited to user’s needs and abilities, but is very expensive compared to other types of training.



SDLC Lesson

Systems Development Lifecycle

Building a house

Investigation/Feasibility study

Investigate systems currently being used - benefits/limitations

requirements for the new system

Create report on

Purpose of the new system

System scope/what it will cover

Deficiencies in the current system

User requirements

Costs and benefits of the new system

Investigate

What kind of house is needed?

How will the house be used (family, young couple, retired, young single)?

How big is the plot of land?

Does the land have Gas. Water, electric?

What rooms/levels are required?

Likely cost to build the house

Benefits of the house

Analysis - Detailed User Requirements

Detailed list of

Input requirements

Output requirements

Processing and calculations required

Detailed requirement list

Rooms

Size of rooms

Requirements in each room

Type of building

Design the Systems

Work out:

Data Flow Diagrams

Entity Relationship Diagrams

Attributes

Data Dictionary

Program Specifications

Design the House

Work out:

House plan

List of parts required

Plan build of house, what needs to be done in what order

Develop the system

Write the programs according to the design

Build the house

Build the house according to the house plans and project plan

Test the system

Functional test

test each program

System test

Test programs link together correctly (whole system test)

Make sure everything works in the house

Test wiring and electrics

Test plumbing

Test heating

Test appliances in the kitchen

etc

System Documentation

Produce:

Technical Documentation

User Documentation

House Documentation

Land registry documents

Contract on sale of house

Searches

Instructions on central heating/appliances

Systems Implementation

Train the users in how to use the system

Hand over the system to the users

New Owners move into the house

Maintenance - Monitor & review

Make sure system is running okay

Report and fix any bugs in the system

On Going Maintenance

Report any problems back to the builder

Builder fixes problems

15 Jan Lesson 

Lesson 1  ( SDLC )

Learning Objectives

  • Overall understanding of the SDLC Stages
  • User Check
    Understand that users have a choice between Off the Shelf / SaaS or Bespoke 
  • Understand the importance defining user requirements


Google Doc explaining the different stages of SDLC  -  Open and Take copy  clicking here

List in a table the methods that you would use to determine the user  requirements and why - Also explain which methods that you would not use and why ( if any ) 

Lesson  2  ( SDLC )

Learning Objectives

  • Overall understanding of the SDLC Stages
  • User Check
    Understand what a Legacy Systems and why we have them 
  • Understand the importance defining user requirements


Google Doc explaining the different stages of SDLC  -  Open and Take copy  clicking here

Lesson  3  ( SDLC )

Learning Objectives

  • Understand the difference between Beta and Alpha testing
  • User Check
    Appreciate the waterfall approach has faults  
  • Understanding of other more agile approaches

Review so far

  • 1
    Legacy System – In computing, a legacy system is a technology, computer system, or application program, that may or may not be supported/available for purchase any more.
  • 2
    Merger – A combination of two things, especially companies, into one

Activity 5-10 min Class discussion on advantage and disadvantageous  of

1 off the shelf software and

2 Custom / Bespoke S/W

Task find a SW disaster and share with class 5 mins

Stage 1 Analysis and User Requirements

  • Questionnaires
  • Interviews
  • Observation
  • Current system documentation
  • User manuals

What is the output of this stage ?

What is the big weakness in the waterfall method to s/w development?

Waterfall -  Sequential flow in one direction thus waterfall. In real life failures to correctly capture user requirements can be a disaster as the costs to change after the coding / development has started is huge 

Incremental Models

First step create part of the system with limited functionality. Example in patients record system first step provide view only access to patient records.

Stage 2  Add Amend update

Open Source would be a good example of the incremental approach 

Iterative Model

First step show interface to system options available reports etc ( do not add the actual functionality until end user approved). We are therefore clarifying the user requirements.

The user can request change with minimal additional time and cost being added to overall project budget 

What is  prototype ?

Similar to Incremental

Agile Approach 


Implementation

  • Direct changeover / Big Bang 
  • Parallel running
  • Phased Changeover
  • Pilot running

We have discussed off the shelf S/W and Bespoke 

We have looked at these stages in the waterfall methodology 

1 )Systems Analysis and defining user requirements ( Methods of data gathering).

2 )Approaches to setting the system live.

Without a proper plan on how the new system will be implemented once it is designed the change from the old system to the new one will not be successful. Many factors will need to be regarded:

  • End user training
  • User's reluctance to change
  • User acceptance testing
  • Type of change over  

Lesson  3  ( SDLC )

Learning Objectives

  • Learning with Flash Cards Click Here
  • User Check
    Why Projects Fail Review Real Failure Click here
  • Overview  SDLC click here

The Systems Analyst Ethics

Success

Lesson  4  ( System Fundamentals   )

Learning Objectives

  • Describe the importance of user documentation
  • Evaluate different methods of providing user documentation
  • Evaluate different methods of giving user Training 
  • Describe different ways that  data can be lost  
  • Ways to keep data safe prevent data loss

Is data Permanent ?