Software Designer Exam Outline (2004 Edition)
I. Examination
1. Exam requirements:
(1) Master the data representation, arithmetic and logical operations; (2) Master the basic knowledge of relevant application mathematics, discrete mathematics; (3) Master the computer architecture and the performance and basic working principle of major components; (4) Master operation The basic knowledge of the system, programming language understands the basic knowledge of the compiler; (5) Proficiency in the common data structure and common algorithm; (6) Familiar with the basics of database, network, and multimedia; (7) Master the C programming language, And C , Java, Visual Basic, Visual C one of the programming languages; (8) Familiarity with software engineering, software process improvement and software development project management basics; (9) Skilled in software design methods and techniques; (10) ) Master common information technology standards, safety, and basic knowledge about laws, regulations; (11) Understanding the basics of information, computer applications; (12) Correct reading 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 system's overall design specification, write, write program design specifications, etc., organize and guide programmer writing, debugging procedures, and Software optimizes and integrates tests, develops high quality software that meets the overall design requirements of the system, with engineers' practical work ability and business level.
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 Representation of data (original code, counter, complement, shift code, integer, and real number) non-numerical representation (character and Chinese characters, sound representation, image representation) check Method and check code (parity check code, sea check code, cyclic redundant check code)
1.3 Arithmetic operation and logical calculation method logic algebraic calculations and logical expressions
1.4 Mathematical basic knowledge proposition logic, predicate logic, form logic basic knowledge common numerical calculation (error, matrix and row, approximate solution, interpolation, numerical integral) Arrangement, probability theory application, application statistics (data statistical analysis) Basic method of operation (prediction and decision making, linear planning, network diagram, simulation)
1.5 Common data structural arrays (static arrays, dynamic arrays), linear tables, linked lists (one-way linked lists, two-way linked lists, cycles, queues, stacks, trees (binary tree, looking tree, balance tree, clue tree, pile), The definition, storage and operation of Hash (storage address calculation, conflict processing)
1.6 Regular algorithm sorting algorithm, find algorithm, numerical calculation method, string processing method, data compression algorithm, recursive algorithm, relationship, 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 Computer System Composition, System Structure Classification, Composition, Performance, and Basic Work Principle of CPU and Memory Common I / O Devices, Communication Equipment Performance, and Features, Types, Types and Features of Basic Working I / O Interfaces / O control mode (interrupt system, DMA, I / O processor mode) CISC / RISC, pipeline operation, multiprocessor, parallel processing
2.1.2 Storage System Main memory -Cache storage system works virtual memory basic working principle, multi-level storage system performance price RAID type and characteristics
2.1.3 Security, reliability and system performance evaluation basic knowledge diagnosis and fault tolerant system Reliability analysis 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 Exclusion, Time Turn, Preemption, Dead Lock) Storage Management (Main Storage Protection, Dynamic Connection Assignment , Segmentation, Paging, Delivery) Device Management (I / O Control, Spirit) File Management (Directory, File Organization, Access Method, Access Control, Recovery Processing) Job Management (Job Scheduling, Job Control Language ( JCL), multi-channel programming) Chinese character processing, multimedia processing, human-machine interface network operating system and embedded operating system basic knowledge operating system configuration
2.2.2 Programming Language and Language Processing Programs Knowledge Compilation, Compilement, Interpretation System Basic Knowledge and Basic Work Principle Program Design Language Basic Composition: Data, Certificate, Control and Transmission, Process (Function) Call Various Programming Language Main features and applicable
2.3 Computer Network Knowledge Network Architecture (Network Topology, OSI, Basic Network Protocol) Transport Media, Transmission Technology, Transmission Method, Transfer Control Common Network Device and Various Communication Equipment Client / Server Structure, Browser / Server Structure LAN Topology, Save Take control, LAN network, LAN connection, LAN-WAN connection Internet basics and application network software network management network performance analysis
2.4 Database Knowledge Database Management System Features and Features Database Model (Conceptual Mode, Outer Mode, Internal Mode) Data Model, ER Figure, First Paradigm, Second Paradigm, Third Paradigm Data Operation (Collection Operation and Relationship) Database Language (SQL) Database Control (Concurrent Control, Recovery, Security, Integrity) Data Warehouse and Distributed Database Basic Knowledge
2.5 Multimedia knowledge multimedia system basic knowledge, performance characteristics of multimedia equipment, common multimedia file format simple graphics draw, image file processing method audio and video information application multimedia application development process
2.6 System Performance Knowledge Performance Index (Response Time, Throughput, Time - turn Time) and Performance Design Performance Test and Performance Evaluation Reliability Index and Calculation, Reliability Design Reliability Test and Reliability Evaluation
2.7 Computer Application Basics Information Management, Data Processing, Association, 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 Target and Task 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, object-oriented method, case) software development tool and environmental knowledge software process improvement knowledge software quality management knowledge software development process assessment, software capability maturity assessment basic knowledge
3.2 System Analysis Basic Knowledge System Analysis Purpose and Task Structured Analysis Method (Data Flow Drawings (DFD) and Data Dictionary (DD), Entity Relationship Diagram (ERD), Structured Languages Describe Processing Processing) Unified Modeling Language (UML System Specifications 3.3 System Design Knowledge System Design Purpose and Task Structured Design Methods and Tools (System Flow Diagram, HIPO Figure, Control Flow Diagram) System 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, processing process design) system design manual
3.4 System Implementation Knowledge System Implementation Program Design, Object-Oriented Program Design, Visual Program Design Program Design Style Program Design Language Selection System Test, Type, System Test Method (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 Basic Knowledge System Maintenance Basic Knowledge System Evaluation Basics
3.6 Object-Oriented Development Method Object-Oriented Development Concept (Class, Object, Attribute, Packaging, Inheritance, Polymorphism, Advantage of Object - Oriented Development Method and Efficient Domain Object - Oriented Object Analysis Method Concept Object-Oriented Design Method (architecture, class design, user interface design) Object-oriented implementation method (select programming language, implementation, method implementation, user interface implementation, preparation test data) Object-oriented programming language (such as C , Java , The basic mechanism of Visual Basic, Visual C is object-oriented, distributed object concept
4. Safety Knowledge Security Basic Concepts Prevention and Control Computer Virus, Prevent Computer Crime Access Control, Anti-Accumulation, Safety Management Measures Encryption and Decryption Mechanism Risk Analysis, Risk Type, Anti - risk Measures and Internal Control
5. Standardized knowledge standardization awareness, standardization development, standard development process international standards, national standards, industry standards, enterprise standard basic knowledge code standards, file format standards, safety standards, software development specifications and document standard knowledge Standardization agencies
6. Informatization Basic Knowledge Information Consciousness Global Informatization Trend, National Information Strategy, Enterprise Information Strategy and Strategy - Basic Knowledge of Information Resources Management of Basic Knowledge Enterprise, E-commerce, E-commerce, etc.
7. Computer Professional English Mastering Computer Technology Basic Words Conforges for Correct Reading and Understanding English Information in Computer
Exam subject 2: software design
External design
1.1 Understanding System Demand Instructions
1.2 Preparation for system development to choose development methods, prepare development environments, develop development plans
1.3 Designing System Function Select System Structure, Designing Functions and Interfaces, Designing Security Policy, Demand and Implementation Methods, Develop Detailed Workflows and Data Flow
1.4 Design Data Model Design ER Model, Data Model
1.5 Write an external design document system configuration map, each subsystem relationship diagram, system flow chart, system function manual, input output specification, data specifications, user manual frame design system test requirements
1.6 design review
2. Internal design
2.1 Designing Software Structure According to component decomposition, determining component function specifications, and interface between components, intermediate parts and tools
2.2 Design Input Output Screen Interface Design, Design Input Output Check Method and Check Information
2.3 Designing physical data analysis data characteristics, determining logical data organization, storage media, design record format and processing mode convert logical data structure into physical data structure, calculating capacity, optimization
2.4 Concept of creation and reuse creation, reuse components Using subripes or class libraries 2.5 Writing internal design document components Dividing diagram, interfaces between components, components, screen design documents, report design documents, file design documents, database Design documentation
2.6 Design Review
3. Program design
3.1 Module division (principles, methods, standards)
3.2 Writing Program Design Document Module Specifications (Features and Interface Description, Description of Program Processing Logic, Description of Input Output Data Format) Test Description (Test Type and Target, Test Sample, 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 the C programming language, and C , Java, Visual Basic, Visual C any of the programming language in order to guide programmers to program and test, and carry out the necessary optimization
4.4 System Test Guide programmer for module testing, and performs an acceptance preparation system integration test environment and test tool preparation test data writing test report
5. Software Engineering Software Survival Model (Waterfall Model, Spiral Model, Fountain Model) and Software Cost Model Defines Software Requirements (Systematic Target, Configuration, Features, Performance, Constraint) Description Software Demand (Function Hierarchy Model, Data) Stream model, control flow model, data-oriented model, object-oriented model, etc.) Define 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 program design, structural diagram, object-oriented program design) software testing principles and method software quality (software quality characteristics, software Quality control, static test and dynamic test) Software process assessment basic method, software capability maturity evaluation basic method software development environment and development tools (analysis tools, design tools, programming tools, test tools, maintenance tools, Case) software engineering development trends (Facing component, unified modeling language (UML)) software process improvement model and method