Saturday, May 22, 2021

Programming Languages

 Programming Languages

 

Learning Outcomes:

Programming paradigms

  • Be aware of the evolution of programming languages.
  • Recognise the programming paradigms involved in procedural, logic, object-oriented and query languages.
    • One programming language for each paradigm is selected for illustration.
  • Describe the criteria for selecting a programming language for a specific problem.

Language translators and compilers

  • Define code generation, linkers and loaders.

 

Programming paradigms

 

Procedural languages

  • Examples: Pascal, C, Fortran
  • Features/Advantages: top-down approach àeasy to trace program flow and logic.

Object-oriented languages

  • Examples: Visual Basic, Java, C++, Python
  • Features/Advantages: 
    • Entities represented by classes. An object belongs to a class. Each class has its own set of attributes and methods. E.g. CAR as an example of a class. My car (object) belongs to the class CAR. My car is white in color (attribute) and uses electricity to run e.g. move forward (method).
    • Hide unnecessary information (encapsulation): you can use the class without showing the details of the class.
    • Reuse of class/function (inheritance): derive a class from another class and reuses its attributes/methods.
    • Utility libraries: pre-written code for specific tasks, helps to shorten software development time.

Logic languages

  • Examples: Prolog
  • Features/Advantages: Instead instructing the computer how to solve a problem, logic programming languages focus on what problem to solve by using the facts and rules given.

 

Criteria for selecting a programming language

  • Examples:
    • Cost
    • Organisation policy
    • Scalability
    • Modularity
    • Portability
    • Availability of utility libraries

Relevant past paper:

DSE ICT Elect B(SP-2017):  PP 3f. 2012 1ci, 4c. 2013 4d. 2014 2d. 2015 2c. 2017 3d.

CE CIT 2005 3e.

 

Language translators and compilers

 

Code generation related: Translator – assembler, compiler, interpreter

  • Source code: low level or high level program code that is written by programmer.
  • Translator: Translation of source code into format that is understandable by computer. i.e. object code, machine code.
  • Machine code: machine code is generated by assembler from source code (low level program code).  In general, execution of machine code is efficient.
  • Object code: object code is generated by compiler from source code (high level program code). Further process is needed to convert the object code into executable file.
  • Interpreter: Instead of generating an object code, interpreter translate the source code one statement at a time.
  • Compiler vs interpreter: Compiler is more efficient as there is optimization of code during code generation.

Linker: A linker combines object code and the required external libraries files into a single executable file (.exe).

Loader: A loader loads the executable file to the main memory for execution.

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  PP 1c. 2012 1cii. 2013 2a. 2015 1ciii, 2d. 2016 1b. 2017 2e.

Learn more:

DSE ICT Elect B(SP-2017):  SP 4e.

AL CS2(2003-2012): 2007 8cde. 2009 6. 2011 5.

 

References:

https://www.geeksforgeeks.org/introduction-of-programming-paradigms/

https://hackr.io/blog/programming-paradigms

https://divisionartistcom.wordpress.com/factors-influencing-the-choice-of-programming-languages/#:~:text=There%20are%20many%20factors%20that,when%20choosing%20a%20programming%20language.

https://medium.com/@rahul77349/machine-code-vs-byte-code-vs-object-code-vs-source-code-vs-assembly-code-812c9780f24c

https://semesters.in/concept-of-assembler-compiler-loader-and-linker/

Sunday, May 16, 2021

Systems Development - Systems Implementation

Systems Development - Systems Implementation

 

Learning Outcomes:

Systems inplementation

  • Design and prepare computer-based solutions.
  • Explain different types of testing and their uses.
    • The types included are unit testing, system testing and acceptance testing.
  • Design a simple test plan for functionality of parts of a system.

Systems conversion and maintenance

  • Compare different strategies of systems conversion.
    • The strategies included are pilot conversion, phased conversion, parallel conversion and direct cutover conversion.
  • Explain the need for ongoing maintenance, upgrading and training.

Systems documentation

  • Differentiate different types of documentation and their purposes.
    • The types included are system documentation, technical documentation and user manuals.

  • Document the processes and specifications.
    • The examples of documentation are requirement statements, project plans and design plans.

The personnel

  • Identify various job titles for different stages of systems development.

 

Systems implementation

 

Sequence of testing: unit test à system test à user acceptance test

  • Unit test: Check if each module functions as expected. Done by developer.
  • System test: Check if the whole system functions as expected, after integration. Done by developer.
  • User acceptance test: Check if the system fulfills user’s requirements. Users are involved.

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  2012 2ci. 2014 1ai-iii. 2017 3c.

AL CS2(2003-2012):  2008 9f. 2012 2bc.

Learn more (integration test): AL CS2 2012 2a.

 

Systems conversion and maintenance

 

Systems conversion:

Approaches

Advantages

Disadvantages

Pilot conversion:

Implementation of new system in a small section of a company first (pilot area), before promoting to other sections

If problem arises, only a small section of the company affected

Take more time

Phased conversion:

The new system is divided into smaller parts (modules) and introduced to the existing system in parts, one at a time

Get used to the system gradually

Take more time

Parallel conversion:

Old and new system operate simultaneously for a certain period of time

Failure of new system has lowest impact

Highest cost (more equipment and personnel needed), data inconsistency may arise

Direct cutover conversion:

Implementation of new system and discontinuation of old system

Lowest cost

If problem arises, the whole system may be affected

 

System maintenance: 

  • correct errors in the system, enhance the functions of the system
  • Mode of user training: online teaching, face-to-face, self-study

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  SP 4f. PP 2cii. 2012 2cii.

AL CS2(2003-2012): 2006 3b. 2009 9f. 2012 8e.

 

 

Systems documentation

 

  • System documentation: Overview of the system. Usually contains the requirements, design, coding, maintenance, etc. information.
  • Technical documentation: Intended for technical maintenance of the system. Contains information such as source code and data flow.
  • User manuals: instructions for users on how to use the system.

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  2015 2bii.

AL CS2(2003-2012): -

 

Personnel

 

  • Project manager: monitor and coordinate the whole project.
  • System analyst: define the user requirements and translates them into requirement specification.
  • Programmer: write the code according to requirement specification and test the code.

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  SP 4d. PP 4e.

AL CS2(2003-2012): 2006 10g.

 

References:

https://www.techbeamers.com/testing-types/

https://www.yourarticlelibrary.com/management/mis-management/top-4-approaches-to-system-conversion-mis-2/70316

http://archives.cpajournal.com/old/09626913.htm

https://www.teach-ict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/slc_stages/miniweb/pg22.htm

https://blog.prototypr.io/software-documentation-types-and-best-practices-1726ca595c7f?gi=d201cc280ec7

https://www.teach-ict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/roles_project_team/miniweb/pg2.htm

https://www.teach-ict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/roles_project_team/miniweb/pg3.htm

https://www.teach-ict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/roles_project_team/miniweb/pg5.htm

Sunday, May 9, 2021

Systems Development – System Design

 Systems Development – System Design
 

Learning Outcomes:

  • Describe the functions of each part of a computer-based system and the related issues.
    • This covers the hardware platform, software, inputs, outputs, user interfaces, database structures, data processing, data control, data security and system security.
  • Design and appraise an effective interface between the user and the system.
    • Different types of human-machine interfaces are compared.
  • Know system flowcharts, structure charts, data flow diagrams and data dictionaries to design and document a proposed system.
  • Use Gantt Charts for project management.

 

User interfaces

 

  • Graphical user interface (GUI)
    • Advantages: easy to use, customized interface possible
    • Input methods: keyboard, mouse, touch screen
    • Screen components: mouse pointer/cursor, icon, menu, button, graphics
    • Users: novice
  •  Command line interface (CLI)
    • Advantages: faster than GUI, keyboard only, in plain text and file format
    • Users: experienced user

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  2017 1d.

AL CS2(2003-2012): 2006 10b. 2009 9ac. 2011 10b.

 

System flowcharts

Symbols to be memorized:


 











Relevant past paper:

DSE ICT Elect B(SP-2017):  -

AL CS2(2003-2012): 2008 9e. 2009 9e. 2010 8e. 2012 8f.

 

Structure charts

It gives an overview of the system with its modules and their interaction.








Control information: e.g. Boolean data indicating the validity of the input data

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  SP 4c. 2012 2b.

AL CS2(2003-2012): 2006 3a.

 

Data flow diagrams

 

The purpose of data flow diagram is to map out the data flow of the system.







Tips: classify the given information into data, entity, process and database.

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  2013 3c. 2015 4a.

AL CS2(2003-2012): 2004 13c. 2005 13e. 2007 8ab. 2008 9d. 2009 9d. 2010 8ab. 2011 10a. 2012 8c.

 

Gantt Charts








Arrows: to show the dependent relationship i.e. Task 3 depends on the results of Task 1 and Task 2

Critical path: the minimum time to complete the project. In this case: Task 1 à Task 3.

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  PP 2ci. 2013 3a. 2015 2a. 2017 1a.

AL CS2(2003-2012): -

Learn more (Critical path): AL CS2: 2003 3. 2004 3a. 2005 4. 2006 13a. 2007 2. 2009 1. 2012 3.

  

References:

https://www.geeksforgeeks.org/difference-between-cli-and-gui/

https://www.smartdraw.com/flowchart/flowchart-symbols.htm

https://www.geeksforgeeks.org/software-engineering-structure-charts/

https://www.smartsheet.com/content/gantt-chart-critical-path




Thursday, May 6, 2021

Systems Development - System Analysis

 Systems Development -  System Analysis

 

Learning Outcomes:

  • Identify the major task involved in solving a problem.
  • List some common methods and activities to gather information for analyzing problems and documenting users’ requirements.
    • The common methods and activities are interviews, surveys, questionnaires, observations and document review.
  • Know the need for a feasibility study for a proposed solution.
  • Examine the pros and cons of alternative proposals.
  • Write requirement specifications.

 

Methods to collect user requirements

  • Interviews
  • Questionnaires
  • Observations

 

Feasibility Study

  • To find out if the proposed solution should be undertaken or not by analyzing various factors such as practicability, cost etc.

 

Relevant past paper:

DSE ICT Elect B(SP-2017):  2012 3d. 2015 2bi.

AL CS2(2003-2012): 2008 9abc. 2011 3a.

 

References:

https://www.tutorialspoint.com/software_engineering/software_requirements.htm

Syllabus comparison

 Syllabus comparison   DSE ICT 2025 New syllabus DSE ICT 2012-2024 CE CIT 2005-2011 CE CS 1994-2004 ...