Software Designer Class Exam Outline (2004 New Edition)
I. Examination
1. Exam requirements:
(1) Master data, arithmetic and logical operations;
(2) Master the basics of relevant application mathematics, discrete mathematics;
(3) Master the computer architecture and the performance and basic working principle of major components;
(4) Master the basic knowledge of the operating system, programming language, understand the basic knowledge of the compiler;
(5) Proficiency in the common data structure and common algorithms;
(6) Familiar with the basics of database, network and multimedia;
(7) Master the C programming language, and one of C , Java, Visual Basic, Visual C one of the programming
Language;
(8) Familiar with software engineering, software process improvement and software development project management basics;
(9) Skilling Method and Technology of Software Design;
(10) Master common information technology standards, safety, and basic knowledge about laws, regulations;
(11) Understand the basics of informationization, computer application;
(12) Read and understand English materials in the computer.
2. Through the qualified personnel of this exam, according to the requirements of software development project management and software engineering, according to the overall design
Specifications for software design, write program design specifications, etc., organize and guide programmers
Write, debug the program, and optimize and integrate the software, develop high quality soft in line with the overall design requirements of the system
Parts, with the actual work ability and business level of the engineer.
3. The subjects of this exam include:
(1) Computer and software engineering knowledge, test time is 150 minutes, written test;
(2) Software design, test time is 150 minutes, written test.
Second, the scope of examination
Exam subject 1: Computer and software engineering knowledge
Computer Science Foundation
1.1 numerical system and its conversion
Common numerical systems such as binary, decimal and hexadecimal and its mutual conversion
1.2 Data representation
Representation (original code, reaction code, complement, shift code, integer, and real number) indication, accuracy and overflow)
Non-value representation (characters and Chinese characters are indicated, sound representation, image representation)
Calibration method and check code (parity check code, Heming check code, cycle redundancy check code)
1.3 Arithmetic operation and logic operation
Differential number of calculations in the computer
The basic operation of logical algebra and the simplification of logical expressions
1.4 mathematical basic knowledge
Basic knowledge of proposition logic, predicate logic, form logic
Common numerical calculations (errors, matrices and rows, approximate solution, interpolation, numerical integral)
Arrangement, probability theory application, application statistics (statistical analysis of data)
Basic method of operation (prediction and decision making, linear planning, network diagram, simulation)
1.5 common data structure
Array (static array, dynamic array), linear table, linked list (one-way linked list, two-way linked list, cyclic list), queue
, Stack, tree (binary tree, find tree, balance tree, clue tree, heap), diagram, etc., store, etc.
Hash (storage address calculation, conflict processing)
1.6 Common Algorithm
Sort algorithm, find algorithm, numerical calculation method, string processing method, data compression algorithm, recursive algorithm, diagram
Related algorithm
The relationship between algorithm and data structure, algorithm efficiency, algorithm design, algorithm description (flow chart, pseudo code, decision table), complexity of algorithm
2. Computer system knowledge
2.1 Hardware knowledge
2.1.1 Component, architectural classification and characteristics of computer systems
Composition, performance and basic working principle of CPU and memory
Common I / O equipment, performance, and basic working principle
I / O interface function, type, and feature
I / O control mode (interrupt system, DMA, I / O processor mode)
CISC / RISC, pipeline operation, multi-process machine, parallel processing
2.1.2 storage system
Main memory-Cache storage system works
Virtual memory basic working principle, performance price of multi-level storage system
RAID type and characteristics
2.1.3 Safety, Reliability and System Performance Evaluation Basics
Diagnosis and fault
System reliability analysis evaluation
Computer system performance evaluation method
2.2 Software Knowledge
2.2.1 Operating System Knowledge
Operating system kernel (interrupt control), process, thread concept
Processor management (status conversion, sharing and mutual exclusive, minute rotation, preemptive, dead lock)
Storage management (main memory protection, dynamic connection assignment, segmentation, paging, false memory)
Equipment Management (I / O Control, Spiring)
File management (directory, file organization, access method, access control, recovery processing)
Work Management (Job Scheduling, Job Control Language (JCL), Multiple Program Design)
Chinese character processing, multimedia processing, man-machine interface
Network operating system and embedded operating system basics
Operating system configuration
2.2.2 Programming Language and Language Processing Knowledge
Compilation, compiling, interpretation of the basic knowledge and basic working principle
Basic components of programming language: data, operation, control, and transmission, process (function) call
The main features and applicable applications of various types of programming languages
2.3 Computer Network Knowledge
Network architecture (network topology, OSI, basic network protocol)
Transmission medium, transmission technology, transmission method, transmission control
Common network equipment and various communication devices
Client / Server Structure, Browser / Server Structure
LAN topology, access control, LAN network, LAN connection, LAN-WAN connection
Internet basics and applications
Network software
Network management
Network performance analysis
2.4 Database Knowledge
Database management system function and feature
Database model (concept mode, external mode, internal mode)
Data model, ER diagram, first paradigm, second paradigm, third paradigm
Data operation (collection operation and relationship)
Database Language (SQL)
Database control function (concurrent control, recovery, security, integrity)
Data warehouse and distributed database basics
2.5 multimedia knowledge
Multimedia system basic knowledge, performance characteristics of multimedia equipment, common multimedia file format
Drawing, image file processing method of simple graphics
Application of audio and video information
Multimedia application development process
2.6 System Performance Knowledge
Performance indicator (response time, throughput, turnaround time) and performance design
Performance test and performance assessment
Reliability index and calculation, reliability design
Reliability testing and reliability assessment
2.7 Computer Application Basics
Information management, data processing, aided design, automatic control, scientific calculation, artificial intelligence, etc.
Remote communication service basics
Common application system
3. System development and operation knowledge
3.1 Software Engineering, Software Process Improvement and Software Development Project Management Knowledge
Software engineering knowledge
Software development life cycle goals and tasks
Software Development Project Management Basic Knowledge (Time Management, Cost Management, Quality Management, Human Resource Management, Risk Management, etc.) and its common management tools
Main software development methods (life cycle method, prototype method, object-oriented method, Case)
Software development tools and environmental knowledge
Software process improvement knowledge
Software quality management knowledge
Software development process assessment, software capability maturity evaluation basic knowledge
3.2 System Analysis Basics
The purpose and task of system analysis
Structured Analysis Method (Data Flow Drawings (DFD) and Data Dictionary (DD), Entity Diagram (ERD), Description Processing
Structured language)
Unified Modeling Language (UML)
System specifications
3.3 System design knowledge
The purpose and task of system design
Structured design methods and tools (system flow chart, HIPO diagram, control flow chart)
Overall structure design (overall layout, design principle, module structure design, data storage design, system configuration scheme)
System Detailed Design (Code Design, Database Design, User Interface Design, Process Design)
System design manual
3.4 System Implementation Knowledge
Main task of system implementation
Structured programming, object-oriented programming, visualization programming
Programming style
Programming language selection
The purpose, type, system test method of system test (black box test, white box test, gray box test)
Test design and management (error curve, error exclusion, convergence, injection failure, test case design, system test report)
System conversion basics
3.5 System operation and maintenance knowledge
System operation management basics
System maintenance basics
System evaluation basics
3.6 Object-Oriented Development Method
Object-oriented development concept (class, object, attribute, encapsulation, inheritance, polymorphism, object)
Optimal development method and effective field
Object-oriented analysis method concept
Object-oriented design method (architecture, class design, user interface design)
Object-oriented implementation (selecting programming language, class implementation, implementation, implementation of user interface, ready
Test Data)
Basic mechanisms for object-oriented programming languages (such as C , Java, Visual Basic, Visual C )
Object-oriented database, distributed object concept
4. Safety knowledge
Safety basic concept
Prevention and control computer virus, prevent computer crime
Access control, anti-extraction, safety management measures
Encryption and decryption mechanism
Risk analysis, risk type, anti-risk measures and internal control
5. Standardized knowledge
Standardized consciousness, standardization development, standard development process
International standards, national standards, industry standards, basic knowledge of corporate standards
Code standard, file format standard, security standard, software development specification, and document standard knowledge
Standardized institution
6. Informatization basics
Information consciousness
Global Informatization Trends, National Information Strategy, Enterprise Information Strategy and Strategy
Related laws, regulations
Distance education, e-commerce, e-government, etc.
Corporate information resource management basics
7. Computer professional English
Master the basic vocabulary of computer technology
Correctly read and understand English materials in computer fields
Exam subject 2: software design
External design
1.1 Understanding System Demand Instructions
1.2 Preparation for system development
Choose development method, prepare to develop the environment, develop plan
1.3 Design System Function
Select the system structure, design the functions and interfaces of each subsystem, design security policies, demand and implementation methods,
Fine workflow and data flow
1.4 Design Data Model
Design ER model, data model
1.5 Write an external design document
System configuration diagram, each subsystem relationship diagram, system flow chart, system function manual, input output specification, data specification, user manual framework
Design system test requirements
1.6 design review
2. Internal design
2.1 Design Software Structure
According to the component decomposition, determine the interface function specification and the interface between the components.
Adopt intermediate parts and tools
2.2 Design input and output
Screen interface design, design input and output check methods and check information
2.3 Design Physical Data
Analyze data characteristics, determine logical data organization, storage media, design record formats, and processing methods
Convert logic data structure into physical data structure, calculating capacity, optimization
2.4 Creation and reuse of components
Concept of creation, reuse components
Using subroutines or libraries
2.5 Write internal design documentation
Components division diagram, interface between components, components, screen design documents, report design documents, file design text
Database design documentation
2.6 Design Review
3. Program design
3.1 Module division (principles, methods, standards)
3.2 Write programming documentation
Module Specifications (Features and Interface Description, Description of Program Processing Logic, Description of Input Output Data Format)
Test Description Manual (Test Type and Target, Test Example, Test Method)
3.3 Programming Review
4. System implementation
4.1 Configuring a computer system and its environment
4.2 Select the appropriate programming language
4.3 Master C Programming Language, and C , Java, Visual Basic, Visual C
Language in order to guide programmers to program and test, and make necessary optimization
4.4 System Test
Guide the programmer to test the module test and check the acceptance
Prepare system integration test environment and test tools
Prepare test data
Write test report
5. Software Engineering
Software Survival Model (Waterfall Model, Spiral Model, Fountain Model) and Software Cost Model
Define software requirements (systematic objectives, configuration, functionality, performance, and constraint)
Describe the method of software requirements (function hierarchical model, data stream model, control flow model, and data-oriented models,
Object-oriented model, etc.)
Define how software requirements (structured analysis methods, object-oriented analysis methods)
Software design (decomposition and integration, gradual refinement, abstraction, information hidden)
Software design method (structured design method, Jackson method, Warnier method, object-oriented design method)
Programming (structured programming, structural diagram, object-oriented programming)
Principle and method of software testing
Software quality (software quality characteristics, software quality control, static testing and dynamic test)
Software process assessment basic method, software capability maturity evaluation basic method
Software Development Environment and Development Tools (Analytical Tools, Design Tools, Programming Tools, Tools, Maintenance Tools, Case)
Software Engineering Development Trend (As a Component, Unified Modeling Language (UML))
Software process improvement model and method