System analysis and Design job 1

Source: Internet
Author: User
1. Simple questions

definition of software engineering:
Software engineering has always lacked a unified definition, many scholars and organizations have given their own definition of recognition: Barryboehm: The use of modern scientific and technological knowledge to design and construct computer programs and related documents necessary for the development, operation and maintenance of these procedures. IEEE: Definitions in Software Engineering terminology: 1. Systematic, strictly constrained and quantifiable methods are applied to the development, operation and maintenance of software, and will be applied to software; 2. Study of the method described in 1 Fritzbauer: The definition given at the NATO conference: the establishment and use of sound engineering principles, a series of methods for obtaining reliable software that can operate efficiently on real machines in a more economical way. "Encyclopedia of Computer Science and Technology": Software engineering is the application of computer science, mathematics, logic and management science and other principles, the development of software engineering. Software engineering draws on the principles and methods of traditional projects to improve quality, reduce costs and improve algorithms. Among them, computer science, mathematics used to build models and algorithms, engineering science for the development of norms, design paradigms (paradigm), evaluation costs and determine trade-offs, management science for planning, resources, quality, cost management. One definition of comparative recognition is that software engineering is the research and application of how to develop and maintain software in a systematic, standardized, and quantifiable way, and how to combine time-tested and proven management techniques with the best technology available today. ISO 9000 defines the software engineering process as a set of interrelated resources and activities that the input translates into output.

Read the Classic classics "People's Month myth" and other materials, explain software crisis, COCOMO model.
Software crisis: Software crisis, software crisis refers to the backward software production mode can not meet the rapid growth of computer software requirements, resulting in software development and maintenance process of a series of serious problems occurred.
Cocomo Model: English is all called the constructive cost model, Chinese is the structural costing models. It is an accurate, easy-to-use, model-based cost estimation method that was first proposed by Bum (Boehm) in 1981. In essence, it is a parameterized project estimation method, parameter modeling is to take some characteristics of the project as parameters, and to establish a digital model to predict the project cost (the overall housing cost is similar to the living area as the parameter calculation).

software life cycle. The life cycle of the
Software, also known as the lifetime of the software. It is based on the size and complexity of the development software, from the time of the whole process of software development (from the beginning of planning development to the entire historical phase of software obsolescence) to decompose, forming a relatively independent phase, each phase is decomposed into several specific tasks, Then the tasks of each stage are completed according to the specified order, and a set of standard documents is provided as the development result of each stage, and finally the high quality software is produced. It is divided into six stages:
1, the definition and planning of the problem
This stage is the software developer and the demand side discusses together, mainly determines the software development goal and the feasibility.
2, requirements analysis
to determine the feasibility of software development, the software needs to implement a detailed analysis of the various functions. The requirement analysis phase is a very important stage, and this stage is well done, which will lay a good foundation for the success of the whole software development project. "The only constant is the change itself. "The same requirements are constantly changing and in-depth throughout the software development process, so we have to develop a demand change plan to cope with this change to protect the entire project."
3, Software design
This stage is mainly based on the results of demand analysis, the entire software system design, such as system framework design, database design and so on. Software design is generally divided into general design and detailed design. Good software design will lay a good foundation for software program writing.
4, program encoding
This stage translates the results of the software design into program code that the computer can run. In the code of the program must be unified, in line with the standards of the writing norms. To ensure the readability of the program, easy to maintain, improve the operation of the program efficiency.
5, Software testing
After the completion of the software design to undergo rigorous testing to discover the software throughout the design process problems and correct. The whole test process is divided into three stages: unit test, assembly test and system test. The test method mainly includes white box test and black box test two kinds. During the testing process, a detailed test plan needs to be established and tested in strict accordance with the test plan to reduce the randomness of the test.
6, running Maintenance
Software maintenance is the longest duration of the software life cycle. After the software development is completed and put into use, due to many reasons, the software can not continue to adapt to user requirements. To extend the service life of the software, the software must be maintained. The maintenance of software includes two aspects: corrective maintenance and improved maintenance.

according to Swebok's Ka, this course focuses on which ka or knowledge areas.
Software Requirements
Software Design
Software construction
Software Engineering Management
Software engineering Tools and methods
... The
interprets the five levels of the CMMI. For example: Level 1-initial: unordered, spontaneous production mode. level 1-initial: unordered, spontaneous production mode. Level 2-repeatable: Has the basic project management process, formulates the necessary law, the management system's production pattern. Level 3-defined: Software management and engineering process, standardization, improve the training and evaluation system of production mode level 4-managed: Analyze metrics data, control production processes, manage production patterns for predictive performance level 5-optimizing: quantitative feedback, continuous New, improved processes, focused on improving process production patterns

summarize Swebok or CMMI in your own language (about 200 words)
The CMMI full name is the Capability Maturity Model integration, which is the integration of competency maturity models (also known as: Software Competency Maturity integration model)
The purpose is to help software enterprises to manage and improve the engineering process, enhance the development and improvement ability, so as to be able to develop high-quality software on time and not over budget. It is based on the idea that as long as the focus on continuous efforts to establish an effective software engineering process infrastructure, continuous management practices and process improvement, you can overcome the difficulties in software development. CMMI provides a single, integrated framework for improving the processes of an organization, and the new integrated model framework eliminates inconsistencies across models, reduces duplication between models, increases transparency and understanding, and builds an automated, extensible framework. Thus, the quality and efficiency of the Organization can be improved in general. The main focus of CMMI is cost-effectiveness, clear focus, process concentration and flexibility in four areas.
Mainly divided into five levels: initial level, manageable level, defined level, quantitative management level and optimize management level 2, explain the PSP indicators and skills requirements:

Read the Psp:personal software Process section of modern software engineering. Http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html
Follow the table PSP 2.1 to find out what a software engineer will do after receiving a task, what skills are needed to explain how you intend to count each data. (Final review, each person submits this form according to development phase)

When a software engineer receives a task, it needs to
Plan (estimate the cost of the task)
Develop (analyze requirements, design documents, design audits, determine code standards, finalize specific designs, conduct specific coding, code review, test)
Recording time spent
Test report
Computational effort
Summary afterwards
Process Improvement Program

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.