Software concept: a complete set of programs, data and related documents, and hardware interdependence
Software features:
(1) which is a logical entity, the physical entity is not specific point, so that it is abstract.
(2) its production with different hardware, no significant manufacturing process in his development.
(3) during its operation and use, no hardware as mechanical wear and aging problems.
(4) the development and operation of its limited computer system, computer systems have different degrees of dependency.
(5) Its development has not yet fully developed ways to get rid of crafts.
(6) itself is complex, and the complex practical problems program logic structure.
(7) The cost is quite expensive.
Software Category:
By function: system software (compilers, operating systems, etc.); support software (input and output, text editors, etc.); application software (business data processing software, aided teaching software, etc.)
By size: miniature software, large and small software
According to work: the real-time processing software; sharing software; interactive software; batch processing software
Press service targets: project software; software products
By frequency of use: single use (census); frequently used (weather forecast, operating system, etc.)
Software development stage:
(1) program design stage: 50 - 60's assembly language
(2) software system phases: 60--70 years program Annotated
(3) software engineering phase: 70s standardization
Software Model: waterfall, spiral, increasing type and the like;
Characterized in software engineering: understandability, visibility, support, acceptability, reliability, safety, maintainability, with sufficient speed;
Software Lifetime: Program - Needs Analysis - Design - programming - software testing (unit testing, assembly and testing, system testing) - operation and maintenance, along with the various stages of document
Software engineering thought: with ideas to guide the development of engineering software, its ultimate purpose is the lowest investment in high-quality software, making the relatively short development cycle
Three elements of software engineering: methods, tools (a set of tools making up the software environment) and process
Principles of software engineering: modularity, abstraction, information hiding, information localization, consistency, completeness, uncertainty