Information Systems Project Manager exam is a high-level qualification examination in the computer software proficiency test, it is the big hot of soft examinations. Information System Project Manager certificate of high gold content, can be rated senior title, is the requirement for senior project manager, can also be linked. The following Greek Soft Test Institute for you to bring Information System Project manager preparation Knowledge Point collection of information system development base test explaining, professional teachers according to the real topic and exam outline analysis of the software engineering testing site content, so that you prepare less detours, efficient learning, successfully passed the exam.
Software Engineering Test Center explaining
Software engineering refers to the application of the principles of computer science, mathematics and Management science, and the engineering principle and method to solve the problem of the project, which aims to improve the productivity of software, improve the quality of software and reduce the cost of software. IEEE's definition of software engineering is that the systematic, normative and measurable engineering methods are applied to the whole process of software development, operation and maintenance and the research of the above methods.
1. Structured approach
The structure method belongs to the top-down development method, its basic idea is "top down, gradually refinement", emphasizing the structure rationality of the development method and the structure rationality of the software developed. The structured development method puts forward a set of criteria for improving the rationality of software structure, such as decomposition and abstraction, module independence, information concealment and so on. It includes structured analysis (STRUCTUREDANALYSIS,SA), structured Design (STRUCTUREDDESIGN,SD), and structured programming (structuredprograming) for different stages of the software life cycle. SP) and other methods.
2. Software development Model
For the development of the model knowledge point, to master the concept of software life cycle, the characteristics of various development models and application scenarios. The main research models are waterfall model, increment model, spiral model, fountain model, iteration model, V model, agile method and unified process.
(1) Waterfall model. Waterfall model, also known as the life cycle method, is the most common development model in the structured method, which divides the software development process into software planning, requirement analysis, software design, program coding, software testing and operation Maintenance 6 stages, which stipulate their top-down and cohesive fixed order, like waterfall flowing water and descending. Waterfall model is the first software development model, it provides the basic framework of software development. The essence of the waterfall model is "one pass", that is, each activity is done only once, and finally the software product, also called "linear sequential Model" or "traditional life cycle". Waterfall model is beneficial to the organization and management of large-scale software development process, and is beneficial to the research and use of software development methods and tools, thus improving the quality and efficiency of large-scale software project development. However, the practice of software development shows that the activities of software development are not entirely top-down, so the waterfall model has serious flaws, which are only applicable to projects with clear or seldom changing requirements, such as two development or upgrade projects.
(2) Spiral model. The spiral model combines the waterfall model and the rapid prototyping model to synthesize the advantages of both, and increases the risk analysis. It is based on a prototype and rotates from inside to outside with the helix, and every revolution takes place through activities such as planning, risk analysis, implementation engineering and customer evaluation, and developing a new version of the prototype. The final system is obtained through several spiral-ascending processes.
(3) Fountain model. Fountain model supports the integration of multiple development activities in software reuse and life cycle, and mainly supports the object-oriented development method. The term "fountain" itself embodies the iterative and no-gap characteristics. A part of the system often repeats its work several times, and the associated function joins the evolving system in each iteration. The so-called gap-free means that there is no obvious boundary between analysis, design and coding in development activities.
(4) Incremental model. The incremental model incorporates the basic components of the waterfall model (repeated applications) and the iterative characteristics of the prototype implementation. The incremental model uses a linear sequence that is staggered over time, and each linear sequence produces a published increment of the software. When using an incremental model, the first increment is often the core product, which means that the first increment implements the basic requirements, but many of the supplemental features are not yet published. Customers use and evaluate each increment as a new feature and feature for the next incremental release. This process repeats after each incremental release until the final product is produced. The incremental model emphasizes that each increment publishes an actionable product. Incremental models, like the prototype implementation model and other evolutionary methods, are essentially iterative. But unlike the prototype implementation, the incremental model emphasizes that each increment publishes an actionable product.
(5) Iterative model: iterations include all development activities that produce a product release (stable, executable product version) and all other peripheral elements necessary to use the publication. So, to some extent, development iterations are a process that passes through all of the workflow at once: (including at least) the requirements workflow, the analysis design workflow, the implementation workflow, and the test workflow. In an iterative model, each iteration produces a product that can be released, which is a subset of the final product. The iterative model is suitable for the development of software that can not fully define the product requirement and plan the multi-period development in the project beforehand. In modern development methods, such as XP, RUP, and so on, it is recommended, without exception, to adopt an iterative model that can significantly reduce risk. The iterative model is suitable for software development in which the project can not fully define the product requirement and plan the multi-period development.
(6) v-model. In the waterfall model and other classic models, testing is often used as an afterthought, but there is also a test-centric development model, the V model. The V-model claims that testing is not an afterthought, but a process that is as important as the development process.
650) this.width=650; "src=" http://s12.sinaimg.cn/mw690/002c1tKNgy71XBmoyXF3b "title=" "style=" border:0px; vertical-align:middle; "/> v model
The V model describes a number of different test levels and illustrates the different phases of the life cycle for these levels. In the diagram, the left-hand side of the development process, which corresponds to the rise of the right part of the test process at all stages. Note that the naming of the test phase may vary in different organizations.
The value of the V model is that it clearly identifies the different levels that exist in the testing process and clearly describes the correspondence between these test phases and the stages during the development process.
(7) Agile methods. The agile approach is a new approach to software development that has been attracting widespread attention since the the 1990s to respond to rapidly changing needs. Their specific names, concepts, processes, terminology are different, compared to "non-agile", more emphasis on the programmer team and business experts close collaboration, face-to-face communication, frequent delivery of new software releases, compact and self-organizing team, to adapt to the needs of the change of code writing and team organization method, Also pay more attention to the role of human. Agile is a lightweight (agile), efficient, low-risk, flexible, predictable, scientific, and fun way to develop software that is suitable for small or medium-sized software development teams, where customer needs are blurred or demand is variable.
(8) The unification process. The Unified Process (UNIFIEDPROCESS,UP) is a generic process framework that can be used for a wide range of software systems, different application areas, different organization types, different performance levels, and different project sizes. Up is component-based, and when modeling a software system, up uses UML. Up has three notable features compared to other software processes, namely, use case driven, basic architecture centric, iterative, and incremental. The software process in up is decomposed into four sequential phases, namely, the initial phase, the refinement phase, the construction phase, and the delivery stage. A technical review will be arranged at the end of each phase to determine whether the objectives of this phase have been met. If the review results are satisfactory, you can allow the project to move to the next stage. Since up is proposed by rational, it is also referred to as RUP.
Comparison of the characteristics of various software development models
650) this.width=650; "src=" http://s4.sinaimg.cn/mw690/002c1tKNgy71XBp4X75b3 "title=" "style=" border:0px; Vertical-align:middle; comparison of characteristics of various software development models of />
3. Demand Engineering
Requirement Engineering is the process of all the activities necessary to create and maintain a system requirements document, which can be divided into two major tasks: demand development and demand management.
4. Software Design
From the point of view of engineering management, software design can be divided into two stages: summary design and detailed design.
(1) Summary design. Also known as high-level design, the software requirements will be transformed into data structure and software system structure.
(2) Detailed design. Also known as low-level design, that is, the structure of the map refinement, to obtain detailed data structure and algorithm.
5. Software Testing
Software testing is one of the main means of software quality assurance, and also the steps that must be completed before the software is delivered to the customer. At present, the correctness of software has not been solved fundamentally, software testing is still the main means of discovering software errors and defects. The purpose of software testing is to discover as many errors and flaws in software products (mainly programs) as possible before the software is put into productive operation.
6. Software Maintenance
Software maintenance accounts for the 60%~80% of the entire software life cycle, with the following 4 types of maintenance: corrective maintenance, adaptive maintenance, perfect maintenance, preventive maintenance.
Analysis and summary of software engineering knowledge points
Based on my years of face-to-face experience found: Most of the candidates friend software engineering basic knowledge is weak, because most of the friends usually engaged in work is "hard" aspects, rarely involved in the "soft" aspect of the content. According to the Senior Information System Project Management examination syllabus, the majority of candidates to meet the requirements of the software development process and the stage of work should be understood, the general knowledge, the examination of this section of the test requirements are not high, most of the only related to the "face" on the knowledge. In recent years, in the Senior Project Management examination frequently examines and needs the examinee friend key point grasps the test center to have: each kind of development model's advantage and disadvantage, the software requirement analysis and the software Requirement specification, the software architecture design and the detailed design, the software test and the software quality and the software quality assurance and so on.
Table of Knowledge point descriptions in this section
650) this.width=650; "src=" Http://s9.sinaimg.cn/mw690/002c1tKNgy71XBrGn0s78 "title=" "style=" border:0px; Vertical-align:middle;/> Table of knowledge points in this section
Sissy education left teacher warm hint: for this most of the test center knowledge you can refer to the intermediate tutorial "System integration Project management Engineer " (Liu Chunxu Editor) 3rd Chapter p85-91. For the basic poor or non-computational professional friends suggest reference to the " Introduction to Software engineering " (Chen; Machinery industry Press) this university textbook.
Project manager preparation for Knowledge Point explaining information system development base explaining (ii)