0% found this document useful (0 votes)
41 views18 pages

ICT Elective D2

Uploaded by

ccp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views18 pages

ICT Elective D2

Uploaded by

ccp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

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
(UnitSystemAcceptance)
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

You might also like