PERSOACK.WORDPRESS.
COM
ALANSHUM’S
ICT ELECTIVE D2
NOTES
ICT Elective @HKDSE | Alan
Generations – Programming Languages.................................................................................................................................... 4
Terms of OOPs .................................................................................................................................................................................................................. 5
Selection of Programming Languages in Solving Problems ............................................................................................... 5
Qs – FAQ ................................................................................................................................................................................................. 5
Principle of encapsulation.......................................................................................................................................................................................... 5
Inheritance ........................................................................................................................................................................................................................ 5
Polymorphism .................................................................................................................................................................................................................. 5
Different codes.................................................................................................................................................................................... 6
Linkers and Loaders ......................................................................................................................................................................... 6
Translators ........................................................................................................................................................................................... 6
Definition – System ........................................................................................................................................................................... 7
Basic Elements of a System............................................................................................................................................................. 7
The System Development Life Cycle (SDLC)............................................................................................................................. 7
Development models ........................................................................................................................................................................ 7
Type.1 Waterfall model (1970s).............................................................................................................................................................................. 7
Type.2 Sashimi model ................................................................................................................................................................................................... 7
Type.3 Incremental development approach ...................................................................................................................................................... 7
Type.4 Prototype Approach (Information gathering technique) ............................................................................................................ 8
Type.5 Rapid Application Development (RAD) Approach ........................................................................................................................... 8
Step.1 Collect user requirement ................................................................................................................................................... 9
Step.2 Feasibility Study (Check possibility) ............................................................................................................................. 9
Step.3 System Requirement Specification (SRS) .................................................................................................................... 9
Item.1.1 – Hardware platform ..................................................................................................................................................... 10
Item.1.2 – Software .......................................................................................................................................................................... 10
(Commercial, Off-The-Shelf)....................................................................................................................................................................................10
Item.3 Data Process + Control + Security ................................................................................................................................ 10
Data Process –Data Information ..........................................................................................................................................................10
Data Control – Prevent GIGO ........................................................................................................................................................................10
Data and System Security – Prevent unauthorised access + Damage .......................................................................................10
Item.4 Database structure ............................................................................................................................................................ 10
Item.5 Input& Output ..................................................................................................................................................................... 10
Item.6 UI (HCI) Usability (Ergonomics) .............................................................................................................................. 11
Different aspects ...........................................................................................................................................................................................................11
Guidelines .........................................................................................................................................................................................................................11
Type.1 System Flowchart .............................................................................................................................................................. 12
1 Page
Type.2 Structure Chart................................................................................................................................................................... 12
Type.3 Data Flow Diagram (DFD) .............................................................................................................................................. 12
Different types of DFD ................................................................................................................................................................................................13
Type.4 Data Dictionary .................................................................................................................................................................. 13
Examples – System Flow Chart, Gantt Chart ........................................................................................................................... 13
Adv. (≈ Calendar) .......................................................................................................................................................................................................13
Beforehand – Functionality Test Plan ...................................................................................................................................... 14
User support: User training (Part of system conversion) ................................................................................................. 15
Definitions (By ISO, IEC) ............................................................................................................................................................................................15
Activities (~你平時用電腦做的事)................................................................................................................................................................15
Project Manager.........................................................................................................................................................................................................17
System Analyst ............................................................................................................................................................................................................17
Programmer .................................................................................................................................................................................................................17
Database Administrator (DBA) ........................................................................................................................................................................17
Operation Manager..................................................................................................................................................................................................17
Computer Operator .....................................................................................................................................................................................................17
Technical Support ........................................................................................................................................................................................................17
2 Page
Great thanks to Mr Chow @Ho Lap College @(2009 ~ 2012)…
3
Page
Programming paradigms
Levels Generations Features Examples/ Representation
Low level Machine Executable by CPU (Binary code) (e.g.) 1110 0101 1011
lang. Language
Assembly Mnemonic: Abbreviations that (e.g.) Add dog, food
language symbolizes Instructions (Add ‘food’ to ‘dog’)
Opcode Operation code (Action)
Oprand Memory address
(Register)
High level 3GLs More narrative FORTRAN, COBOL, BASIC, Pascal,
lang. (3rd gen. Ada, C
lang.)
4GLs More abstractive SQL (Structured Query Lang.), CSS
(4th gen. (Cascading Style Sheet)
lang.)
5GLs For (A.I.) artificial intelligence Prolog (Programming in Logic)
(5th gen.
lang.)
Programming paradigm( ): Pattern or model employed in writing computer programs
Classification of computer languages, in terms of programming paradigms
Types Focus/ Aims Coding process Components Examples
Procedural ‘how’ to solve a Specify every Pascal, C++
Prog. Lang. program detail of the
(Imperative) logical steps or
commands
Declarative ‘what’ the State <focus> Logic
Prog. Lang. problem is programming
(Logic& Query) ‘what’ should be languages (Prolog)
produced + Query
programming
languages (SQL)
Object- (For large Objects building blocks of C++, C#, Python,
Oriented Prog. programs) an object- Java, VB.NET
Lang. (OOP) Quality ↑ oriented program
Classes + Reusability ↑ Classes define properties
Objects Maintainability↑ + f(x) contained
inside the objects
4
Page
Application: System of objects interacting with each other
Principle of encapsulation1: Programmers have the control over how the data is Accessed +
Manipulated.
Inheritance: Creating new classes based on the existing one Reusability (Program codes) ↑
Polymorphism2: Ability of the objects: Respond to a Function call (with the same name) + Behave
differently as defined in their own classes
Non- Primary Factor
program’s Availability Size of problem Nature of problem Context of problem
consideration (H&Sware) (Target) (問題資料)
Program’s Program Program dev. time Portability Hardware control
consideration execution (Machine
efficiency independency)
High Lv. Lang. Low Short High Low
Low Lv. Lang. High Long Low High
Object-oriented programming languages are usually not recommended for rapid development
1. Why do we need this principle?
i. By controlling over how the data are accessed + manipulated, the security of private data can be
protected
ii. To make OOP codes more maintainable (Can control over the data well)
2. How do we apply this principle?
i. By restricting a certain variable Only a specific function declared within the class can call
with it
1. How is this done?
i. By creating another class derived from an existing class: Inherit all the data + functions
Extend
ii. Similar to genetic inheritance: Sons have all the biological features of his parents + Develop his
own DNA
Polymorphism
1. How this is done?
i. With the same name of the function, it performs differently according to the class specified
2. Any example?
i. Overloading polymorphism
ii. Use ‘+’ operator for different uses
For numeric values: (e.g.) 1 + 1 = 2
For character, strings: (e.g.) ‘Lovely’ + ‘Kitten’ = ‘ LovelyKitten’
5
Page
1 封裝 2 多態性
Program translator
Name Features
Codes Object codes Produced by a compiler + Linked with program libraries (By
linker)
Executable codes
Executable codes Stored in secondary storage devices
(.exe)
Machine code The only code for processor to execute
High level languages (Pascal, C): Translated by compiler
Machine code
Linkers, Loader Load the executable codes into the computer memory
loader Linker Links program libraries with object code
Generate executable codes
1. USES: Reserved word in Pascal Call libraries
2. Object codes linked with dynamic link libraries (DLL) routines
References of the required routines will be stored in the executable codes
3. Loader loads executable codes into the memory Locate required Routines from the disk Map into
memory space Program runs
Translator (Program) converting source codes into object codes.
Targeted Translator Translation Example Efficiency Interactivity Object
language code
Assembly Assembler Assembly language
languages Object code
Low
Compilers Source code (1 whole C++, High (∵ Code
program at a time ) Pascal optimization)
High level
Interpreters Source code (1 Javascript, Low
programming
program statement at BASIC
languages High
1 time) Execute
immediately
.
6
Page
Preliminary investigation (1 st)
System: A set of integrated components interacting with each other to serve a common purpose.
Computer based system: A system coordinates Computers + related I.T. components Perform a specific
task.
1. Environment Outside the system 4. Input Data input
2. Interface Interact with users 5. Output Data output
3. Storage Store data 6. Process Data process
Preliminary System System System System Documentation
investigation analysis design implementation conversion
and
maintenance
Features Adaption to Δ Dev. Visibility Quality Reliability
User time of system
requirement
Waterfall model Sequential dev. Poorest Longest Lowest Good High
(feedback)
Sashimi model Sequential dev. Good Short Higher Good High
(feedback)
Incremental Part of the system is Good Long Low Best Highest
development developed by SDLC
approach
Prototype Prototype for user Good Short Higher Good High
approach trials Collect User
requirement
RAD approach Prototyping and Best Shortest Highest Poor Low
iterative dev.
Phases are followed exactly as the sequence (no going back or skipping) Waterfall (No overlapping)
Most classical method for system development
Documentation in each phase of the system development
Waterfall model with feedback
Highly overlapped
7
Page
Focus on completing part of the system
An initial, incomplete system builds Check feasibility + Gather User requirement
Discovery prototype (Built in system analysis): Gather User requirement
By James Martin, 1991
The cost may be high (Require CASE 2+ Programmers)
Focus on speeding up system dev. Process
Include Iterative dev. + Prototyping
Adapt to fast-changing market + development
Prototype from car manufacturer
Qt creator: An IDE with RAD approach
Prototype of Citroen Taranis
8
Page
2 Computer-Aided Software Engineering
System Analysis (≠ Debug current system) (2nd)
System analyst: Implementation of the system
Feasibility study (Effectiveness evaluation of the solution)
Requirement Specification (Factual data of current sys. + Requirement + Methods to achieve the req.)
Methods Purpose Pros Cons
Interviews Identify the problem and causes 1. Qualitative 1. Time-consuming
2. Difficult
Questionnaires Collect objective data of the system 1. Quantitative 1. Not in-depth
2. Easy
3. Fast
Documentation Info. of the system (e.g. System 1. Detailed 1. May not the
reviews documentation) 2. Valuable factual
Observations (BEST) Observe directly 1. First-hand 1. Time consuming
1. Technical Feasibility Availability of a certain technology (software, personnel)
2. Economic Feasibility Affordability
3. Operational Feasibility Operability (By users) + Acceptance
1. Business requirement Objective should be achieved
2. Functional requirement Functions should be provided
3. Non-functional requirement Others (Performance, cost, UI, …) required
9
Page
System Design (3 rd)
System Process
Interface Users
Hardware Platform and software Data Process + Control + Security Database I/O
Choose hardware according to: Workload (Computational power + Storage capacity) + Technological level
(e.g.) For banking system, computer with RAS3 is the choice Mainframe computer ( IBM system Z)
Way to acquire software Pros Cons
Develop 1. Tailor-made 1. Lengthy time (dev.)
2. Risky
3. Costly
Purchase 1. $(Initial + 1. Limited customisation
(Commercial, Off-The- Maintenance)↓
Shelf) 2. Reliability ↑
3. Functionality ↑
Employ an 1. Tailor-made 1. Lost general control (Data,
(Application Service Privacy, Info. system, Project
Provider) schedules)
2. Terminable by the ASP
(e.g.) Sorting, Search, modification, calculation, analysis
(e.g.) Double data entry, input data twice
(e.g.) Firewall, Login system
Database terminology(術語): Table > Record > Related fields > Key (A specific field)
(e.g.) Manpower (Input) Process A report
10
Page
1 Reusability + Availability + Service-ability
Different types Contents (Components) Examples
1. Command Line Interface Control command + Information Windows command prompt
(CLI)
2. Text User Interface Information (vs. CLI: Cannot control BIOS set-up page
(TUI) computer)
3. Graphical User Interface Within a software Windows Explorer
(GUI)
4. Web-based User Interface Within a browser Doc.google.com
(WUI)
5. Others Touch screen, speech recognition
system
A. Physical– Physical devices that interacts with users
(e.g.) Touch screen, Mouse, Keyboard
B. Perceptual– Everything that users hear and see
(e.g.) Program menu, Toolbars, notification sounds
C. Conceptual– Required knowledge of users (Procedures, Regulations, Available operations)
(e.g.) Guidelines in using kiosk to borrow a book
Visibility: All available system control objects Visible to user
Affordance: All available system control objects Give essential clues on its f(x)
1. Menu design (1-click friendly) + 2. User navigation (Correct order) + 3. Consistent Screen Layout
+ 4. Heading (Top-level menu) + 5. Data Field (Label, Field type, length) + 6. Data validation (Length
check, type check) + 7. Error& Help Message + 8. Font& Colour& Style (Natural, Clear)
Types Illustrates Purposes
System Flowchart IPO of data, Hardware devices High level view of the system design
(e.g. Magnet tape) Relationships of IPO
Structure Chart Hierarchical data structure Top-down decomposition
Relationships of modules + Data
passing among them
Data Flow IPO of data, Storage Process of data flowing + Program logic
Diagram (DFD)
Data Dictionary Collection of data in DFD with Data structure + Data element
description (Names,
Descriptions, Types, Contents,
Processes)
11
Page
4 Human Computer Interaction
I/O Process Storage Link
Document/Report Process Disk Communication
IO Link
(Network, …)
Manual Input Manual Magnet
Operation Tape
Common I/O
Data Display Online
Storage
Modules Calling Calling Module Calling Module
(Basic Module
component)
Called Called Called Called Called
Module Module Module Module Module
Simply linkage With iteration With conditional call
Arrows Data couple: Flow of a Control couple: Flow of
(Indicates single data item internal control information
calling (e.g. Boolean flag)
structure)
Symbol Name Examples
External Entity:
Steve
An external source of data considered outside the system
Process: 2.1
A process + a unique reference number to indicate its level Calculate
the fee
in the diagram
Data Store: D4 Fee
A data source + Unique reference number
Data flow arrow:
Card ID
Always linked with PROCESS + Data label
12
Page
Types Contents
Level 0 DFD 1. Only 1.0 Process
(Context Diagram) 2. Essential External Entity
3. No Data Store
Level 1 DFD 1. Only Processes are decomposed into lower level (1.0 1.0, 2.0, 3.0 )
Lv.0 DFD (Extended) + Data Store 2. Retains the Data Flow Arrow from context diagram (Δ = 0)
3. With appropriate Data Store
Level 2 DFD 1. Decomposes all process into level x.x (e.g. Process 1.0 1.1, 1.2, 1.3)
Lv.1 DFD (Extend each process)
Shows Data structure (By mathematical expressions) + Data element
Help system analyst to classify the meaning of various data in terms of a system (e.g. In system upgrade)
Symbol Meaning Example
= Is composed of Tel. no. = Area code + Local no.
+ And Area code + Local no. = Tel. no
{… } Repetitive elements 61{Book ID} (That means 1 of the 6 books IDs)
[ …] Either/ or Sex = [Male/ Female]
( …) Optional element Author = Name + Sex + (Sons’ names)
For Project management + Allocated for each phase of SDLC (… cycle)
1. Help make realistic assessment of the progress + Completion time
2. Help to allocate resources efficiently
3. Convenient in showing dependencies of various activities
4. Convenient in showing concurrent activities
13
Page
System Implementation (4 th)
Choose components according to the system requirement
Examples: Hardware Software I/O devices Database Data System security
platform structures control issues
1. Impossible to make the developed system exactly the same as the ideal system
2. System fault: The developed system doesn’t comply any 1 of the user requirements
3. System failure: The result of system fault
Establish Design Write Test Execute Evaluate
Flow:
Test objectives Test cases Test results
Test cases should: Be representative + Exercise the f(system) thoroughly Demonstrate correctness +
Validity
Testing steps By Objectives Test cases
(UnitSystemAcceptance)
Unit Test Programm 1. Locate and fix Particular set of
Test individual modules (Functions, er Syntax + Logic inputted data +
Procedures, Method) before integration errors conditions used in
2. Accumulated errors testing
in integrated Demonstrate
system ↓ behaviours
3. [$+Time] ↓
System Test Volume test Test Team Check system’s reasonable I/O processes
Test integrated system handling
Check system’s Storage Test Check system’s storage demand
accomplishment of Performance Check system’s efficiency
Original Objectives + Time Test
System Requirement
Acceptance Test Users 1. Check system’s Defined by users to
accomplishment of represent typical
requirement operations
2. Check performance
3. Check UI
4. Provide info. for
Fine-Tuning
14
Page
System Conversion, Maintenance (5th)
Conversion Features Pros Cons Graphically
Direct Whole system translation Least costly Most risky
Cutover …
Parallel … Overlapping of 2 systems Least risky Most costly
Discover faults Double
and errors in H&Sware +
new systems Workload
Phased … = Direct cutover + Lower risk High complexity
Parallel Faults only
Modules translations encountered in
(Replace some part of the
independent components system
of the existing system Lower cost
from time to time)
Pilot … = Beta testing Lower risk
Installed for specific Only affect a
sites/ groups of people group of people
For End-user: More formal (∵Basic computer skills) + Focus on hands-on applications (Specific process/
function)
For Computer Operator: Less formal (∵Self-learning by reading system operation manuals)
Any activities that happen after system delivery until the system has been totally replaced or abandoned
Software Maintenance Correct faults + Improve performance + Update to meet NEW user requirement
1. Collect modification requests from users 2. Monitor + Improve system performance
3. Upgrade H&Sware 4. Update system documentation Reflect Δ Systems
Most risky in fixing bugs in DEVELOPED systems Maintenance is conservative
15
5 International Organisation for Standardisation
Page
6 International Electro-technical Commission
Documentation (6th)
Types Describes Contents
System Documentation Design of the System Requirement Specification
Store effectively ↑ System system Analysis
Lifespan System All systematic tools of
Design representation (DFD, …)
Technical Documentation The system is Program source codes, comments,
Inform the programmers of the IO, created flowcharts, test data
f(x), purposes of the programme
User Manual Routine operations Different commands + Common error
of the system messages (Troubleshoot guide)
Documents throughout the development of a project (All stages of sys. development + Development process)
Contents Purposes
Project plan Project scope Guide Project execution + Project control
(Formal& Approved Project time Facilitate effective transformation of the system to other
document) management organisations (Estimate the time, cost, …)
Project cost +
Human resources
management
Project schedule
Jobs related to System Development
System Analyst Programmer
Database Computer
Projact Manager
administrator Operator
Operation Technical
Manager Support Staff
16
Page
Job Title Role Manage Skills
Leader of a project 1. Scope, Budget of the project 1. Great exp.
Initiate Plan 2. Project schedule 2. Management
Execute Close 3. Allocate hardware, software, human skills
System Development resource
Project 4. Evaluate project feasibility, risks and
potential technical problems
Designer (New 1. Gather info. 1. Analytical Skills
System) Define functional requirement 2. Technical skills
Analyst (Old Design System Architecture + 3. Interpersonal
System) Network + Databases + UI skills
Problem Solver 2. Build Prototype for user trials
3. Prepare data for system testing
Prepare system documentation
Provide System support
Organise system training
Maintain + Enhance the system
Software engineer 1. Develop + Operate + Maintain the 1. Programming
software languages
2. Database
systems
3. Advanced Web
Authoring
techniques
Design Manage 1. Logical& Physical design of DB
Maintain 2. Configure the system H&Sware
Work well with DBMS
(Management System)
3. Build Programs + Queries + Procedure
Effective data exchange
4. Monitor DB security
5. Analyse + Fine-tune DBs
Optimise DB retrieval + storage
1. Monitor day-to-day operations +
Performance of the system
1. Troubleshoot + Set-up H&Sware
(Technicians)
17
Page