What is software?
Computer programs and associated documentation such as requirements, design models and user manuals.Software products may be developed for a particular customer or a general market.
Generic product: It is a kind of software. These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them.
Customized (bespoke) products: These are systems which are commissioned by a particular customer. A software contractor develops the software especially for electronic that customers.
What is software engineering?
Software engineering is an engineering discipline that is concerned with all aspects of software production.
What is a software process?
Software processes are the activities involved in producing and evolving a software system.
Generic activities:
Specification - what the system should do and its development constraints
Design and Development - production of the software system
Validation - checking that the software is what the customer wants
Evolution - changing the software in response to changing demands.
what is software process model?
A simplified or abstract representation of a software process, presented from a specific perspective.
Generic process models describe the organisation of software processes.Including: Waterfall model, Iterative/Evolutionary development, Component-based software engineering.
Waterfall
CBSE /Reuse-oriented development
软件描述? Software specification?
The process of establishing what services are required and the constraints on the systems operation and development. (The process of developing a software specification)
主要阶段:可行性研究、需求导入和分析、需求描述、需求有效性验证。
Requirements engineering process: Feasibility study, Requirements elicitation and analysis, Requirements specification, Requirements validation.
Software design and implementation?
The process of converting the system specification into an executable system.
Design: Design a software structure that realises the specification
Implementation: Translate this structure into an executable program
validation verification
软件进化? Software evolution?
Software is inherently flexible and can change. As requirements change through changing
business circumstances, the software that supports the business must also evolve and change.
Evolution is concerned with modifying the system after it is in use.
什么是RUP? What is RUP?
The Rational Unified Process, a modern process model derived from the work on the UML and associated process.The Rational Unified Process is a generic process model that separates activities from phases.
过程迭代 Process iteration
System requirement always evolve so process iteration where earlier stages are reworked is always part of the process of large systems. Iterative process models describe the software process as a cycle of activities. Including: Incremental delivery, Spiral development.
Spiral development: Determine the constrains, risk, develop/verify next-level product, plan the next phase. Risks are explicitly assessed and resolved throughout the process.
需求是什么?需求工程是什么?
Requirement:
It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification. Description of system services and constraints to a detail mathematical function. At its most basic, a software requirement is a property that must be exhibited by something in order to solve some problem in the real world.
Requirements engineering:
The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed. The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process.
需求的类型?
User requirements: Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.
System requirements: A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.
功能需求、非功能需求领域需求分别是?
Functional requirements: Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.