Map

advertisement
H1 SOFTWARE SOLUTIONS
H1.1 Social and ethical issues (Chp 1)
H1.1.1 Rights and responsibilities of software
developers
H1.1.2 Software piracy and copyright
H1.1.3 The software market
H1.1.4 Significant social and ethical issues
H1.2 Software development (Chp 2)
H1.2.1 Approaches used in commercial systems
H1.2.1.1 The structured approach
H1.2.1.2 Prototyping
H1.2.1.3 Rapid application development (RAD)
H1.2.1.4 End User Development
H1.2.1.5 Combinations Of Any Of The Above
H1.2.2 Methods of implementation
H1.2.2.1 Direct cut over
H1.2.2.2 Parallel
H1.2.2.3 Phased
H1.2.2.4 Pilot
H1.2.3 Current trends in software development
H1.2.3.1 Outsourcing
H1.2.3.2 Popular Approaches
H1.2.3.3 Popular Languages
H1.2.3.4 Employment Trends
H1.2.3.5 Networked Software
H1.2.3.6 Customised off-the-shelf packages
H1.2.4 Use of CASE tools and their application in
large systems development
H1.2.4.1 Software Version
H1.2.4.2 Data dictionary
H1.2.4.3 Test data
H1.2.4.4 Product of documentation
H2 SOFTWARE DEVELOPMENT CYCLE
H2.1 Defining & understanding (Chp 3)
H2.1.1 Defining the problem
H2.1.1.1 Identifying the problem
H2.1.1.1.1 Needs
H2.1.1.1.2 Objectives
H2.1.1.1.3 Boundaries
H2.1.1.2 Determining the feasibility of the solution
H2.1.1.2.1 Is it worth solving?
H2.1.1.2.2 Constraints
H2.1.1.2.3 Budgetary
H2.1.1.2.4 Operational
H2.1.1.2.5 Technical
H2.1.1.2.6 Scheduling
H2.1.1.2.7 Possible alternatives
H2.1.1.2.8 Social and ethical considerations
H2.1.2 Design specifications
H2.1.2.1 The developer’s perspective
H2.1.2.1.1 Data types
H2.1.2.1.2 Algorithms
H2.1.2.1.3 Variables
H2.1.2.2 The user’s perspective
H2.1.3 Modelling
H2.1.3.1 Representing a system using diagrams
H2.1.3.1.1 IPO diagrams
H2.1.3.1.2 Story boards
H2.1.3.1.3 Data flow diagrams
H2.1.3.1.4 Systems flowcharts
H2.1.3.1.5 Screen designs
H2.1.3.1.6 Consideration of use of a limited prototype
H2.1.4 Communication issues
H2.2 Planning and design (Chp 4)
H2.2.1 Standard algorithms for searching and sorting
H2.2.1.1 Standard logic used in software solutions
H2.2.1.1.1 Finding max and min values in arrays
H2.2.1.1.2 Processing strings
H2.2.1.1.3 File processing
H2.2.1.1.4 Linear search
H2.2.1.1.5 Binary search
H2.2.1.1.6 Bubble sort
H2.2.1.1.7 Insertion sort
H2.2.1.1.8 Selection sort
H2.2.2 Custom-designed logic used in software solutions
H2.2.2.1 Requirements
H2.2.2.1.1 Identification of I.P.O.
H2.2.2.1.2 Representation as an algorithm
H2.2.2.1.3 Definition of required data structures
H2.2.2.1.4 Use of data structures
H2.2.2.1.5 Use of random numbers
H2.2.2.1.6 Thorough Testing
H2.2.3 Standard modules (library routines) used in software solutions
H2.2.3.1 Requirements for generating or subsequent use
H2.2.3.1.1 Identification of appropriate modules
H2.2.3.1.2 Consideration of local and global variables
H2.2.3.1.3 Appropriate use of parameters (arguments)
H2.2.3.1.4 Appropriate testing using drivers
H2.2.3.1.5 Thorough documentation
H2.2.4 Customisation of existing software solutions
H2.2.4.1 Identification of relevant products
H2.2.4.2 Customisation
H2.2.4.3 Cost Effectiveness
H2.2.5 Documentation of the overall software solution
H2.2.5.1 Tools for representing a complex software solution
H2.2.5.1.1 Algorithm descriptions
H2.2.5.1.2 System flowcharts
H2.2.5.1.3 Structure diagrams
H2.2.5.1.4 Data flow diagrams
H2.2.5.1.5 Data dictionary
H2.2.6 Selection of language to be used
H2.2.6.1 Event-driven software
H2.2.6.1.1 Driven by the user
H2.2.6.1.2 Program logic
H2.2.6.2 Sequential approach
H2.2.6.2.1 Defined by the programmer
H2.2.6.3 Relevant language features
H2.2.6.4 Hardware ramifications
H2.2.6.5 Graphical User Interface (GUI)
H2.3 Implementation (Chp 5)
H2.3.1 Interface design in software solutions
H2.3.1.1 The Design of individual screens
H2.3.1.1.1 Identification of data required
H2.3.1.1.2 Current popular approaches
H2.3.1.1.3 Design of help screens
H2.3.1.1.4 Audience identification
H2.3.1.1.5 Consistency in approach
H2.3.2 Language syntax required for software solutions
H2.3.2.1 Use of BNF, EBNF and railroad diagrams to describe the
syntax of new statements in the chosen language
H2.3.2.2 Commands
H2.3.2.2.1 Multi-dimentional arrays
H2.3.2.2.2 Arrays of records
H2.3.2.2.3 Files (sequential and relative/random)
H2.3.2.2.4 Random number generators
H2.3.3 The role of the CPU in the operation of software
H2.3.3.1 Machine code and CPU operation
H2.3.3.1.1 Instrucation format
H2.3.3.1.2 Use of registers and acumulators
H2.3.3.1.3 Use of program counter and fetch-execute cycles
H2.3.3.1.4 Addresses of called routines
H2.3.3.1.5 Linking, including the use of DLL´s
H2.3.4 Translation methods in software solutions
H2.3.4.1 Different methods...
H2.3.4.1.1 Compilation
H2.3.4.1.2 Incremental compilation
H2.3.4.1.3 Interpretation
H2.3.4.2 The translation process
H2.3.4.3 Advantages
H2.3.5 Program development techniques in software solutions
H2.3.6 Documentation of a software solution
H2.3.7 Hardware environment to enable implementation of the software
solution
H2.3.8 Emerging technologies
H2.4 Testing and evaluation (Chp 6)
H2.4.1 Testing the software solution
H2.4.1.1 Comparison of the solution with the original design
specifications
H2.4.1.2 Generating relevent test data for complex solutions
H2.4.1.3 Levels of testing
H2.4.1.3.1 Unit or module
H2.4.1.3.2 Program
H2.4.1.3.3 System
H2.4.1.4 The use of live test data to test the complete solution
H2.4.1.4.1 Larger file sizes
H2.4.1.4.2 Mix of transaction types
H2.4.1.4.3 Response times
H2.4.1.4.4 Volume Data
H2.4.1.4.5 Interfaces between modules
H2.4.1.4.6 Comparison with program test data
H2.4.1.5 Benchmarking
H2.4.1.6 Quality Assurance
H2.4.2 Reporting on the testing process
H2.4.2.1 Documentation of the test data...
H2.4.2.1 Documentation of the test data...
H2.4.2.1.1 Use of CASE tools
H2.5 Maintenance of software (Chp 7)
H2.5.1 Modification of code to meet changed requirements
H2.5.2 Documentation of changes
H3 DEVELOPING A SOLUTION PACKAGE
H3.1 Designing & developing (Chp 8)
H3.1.1 Defining the problem
H3.1.1.1 Identification of the problem
H3.1.1.2 Idea Generation
H3.1.1.3 Communication with others...
H3.1.2 Understanding
H3.1.3 Planning and design
H3.2 Systems implementation (Chp 8)
H3.2.1 Implementation
H3.2.2 Maintenance
H4 PROGRAMMING LANGUAGES (option)
H4.1 Historical reasons (Chp 9)
H4.1.1 A need for greater productivity
H4.1.2 Recognition of repetitive standard programming tasks
H4.1.3 A desire to solve different types of problems
H4.1.4 The recognition of a range of different basic building blocks
H4.1.5 Emerging technologies
H4.2 Basic building blocks (Chp 9)
H4.2.1 Variables and control structures
H4.2.2 Functions
H4.2.3 Facts and rules
H4.2.4 Objects, with data and methods or operations
H4.3 Progrmers’ productivity (Chp 9)
H4.3.1 Speed of code generation
H4.3.2 Approach to testing
H4.3.3 Effect on maintenance
H4.3.4 Efficiency of solution once coded
H4.3.5 Learning curve
H4.4 Paradigm concepts (Chp 9)
H4.4.1 Logic paradigm
H4.4.2 Object oriented programming
H4.4.3 Functional
H5 DEV´S VIEW OF H´WARE (option)
H5.1 Representations of data (Chp 10)
H5.1.1 Character representation
H5.1.2 Integer representation
H5.1.3 Representation of fractions
H5.1.4 Binary arithmetic
H5.2 Electronic circuits (Chp 10)
H5.2.1 Logic Gates
H5.2.2 Truth Tables
H5.2.3 Circuit Design Steps
H5.2.4 Special Circuits
H5.3 Programming hardware (Chp 10)
H5.3.1 Input data
H5.3.2 Processing of data
H5.3.3 Output data
H5.3.4 Control systems
H5.3.5 Printer operation
H5.3.6 Specialist devices – input and output
HSC Standards Package
Download