1、keypointPPT 1What 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 may be developed for a general market.New software can be created by developing new programs, configuring
2、generic software systems or reusing existing software.What is software engineering?Software engineering is an engineering discipline that is concerned with all aspects of software production.What is the difference between SE and CS?Computer science is concerned with theory and fundamentals; software
3、 engineering is concerned with the practicalities of developing and delivering useful software.What is software process?A set of activities whose goal is the development or evolution of software.Generic activities in all software processes are: Specification - what the system should do and its devel
4、opment constraints 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 representation of a software process, presented from a
5、specific perspective. Examples of process perspectives are Workflow perspective - sequence of activities; Data-flow perspective - information flow; Role/action perspective - who does what.What is the CASE? CASE means Computer Aided Software Engineering. Software systems that are intended to provide
6、automated support for software process activities. CASE systems are often used for method support.Upper lowerWhat is the difference between software engineering and system engineering?SE is concerned with all aspects of the development and evolution of complex system where software plays a major rol
7、e.System engineering is concerned with hard ware development , policy and process and process design and system deployment as well as software engineering PPT 21. Software processes are the activities involved in producing and evolving a software system. Software process models are abstract represen
8、tations of these processes. General activities are specification, design and implementation, validation and evolution. Generic process models describe the organisation of software processes. Examples include the waterfall model, evolutionary development and component-based software engineering.2. It
9、erative process models describe the software process as a cycle of activities. Requirements engineering is the process of developing a software specification. Design and implementation processes transform the specification to an executable program. Validation involves checking that the system meets
10、to its specification and user needs.3. Evolution is concerned with modifying the system after it is in use.+ Exploratory development Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements and add new feat
11、ures as proposed by the customer.+ Throw-away prototyping Objective is to understand the system requirements. Should start with poorly understood requirements to clarify what is really needed. The Rational Unified Process is a generic process model that separates activities from phases. CASE technol
12、ogy supports software process activities.Water fall model:PPT 3What is Software project management?Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software.Crit
13、ical Path Longest of all paths through the project Path with zero float time Float (slack) 0 means that extra time is available. Float (slack) = 0 means the situation is critical. Float (slack) 0 means the project is behind schedule, critically late. Minimum time to complete the project WBS: work br
14、eakdown structureAtree structure, which shows a subdivision of effort required to achieve an objective, a tool used to define and group aprojects discrete work elements (ortasks) in a way that helps organize and define the total work scope of the project.Milestones vs. Deliverables Milestones: Recog
15、nizable end point of a software activity.(Should make some output :document, do not have to be large)Deliverables: A project result that is delivered to the customer.(Usually at the end of some major project phase )Deliverables are usually milestone, but milestones do not have to be deliverables. Th
16、ere is not a simple relationship between the price charged for a system and its development costs.开发成本和收费价格不是一个简单的关系 Factors affecting productivity include individual aptitude, domain experience, the development project, the project size, tool support and the working environment.影响生产里的因素包括个人态度,领域经验,
17、开发项目,项目规模,工具支持和工作环境 Software may be priced to gain a contract and the functionality adjusted to the price.可以就软件价格来制定一份合同,用来调整其的价格 Different techniques of cost estimation should be used when estimating costs. 估算成本时应根据不同的技术来估算其的成本 The COCOMO model takes project, product, personnel and hardware attribu
18、tes into account when predicting effort required.COCOMO(建设性成本模型)在预测所需工作量时考虑了项目,产品,人员和硬件的属性 Algorithmic cost models support quantitative option analysis as they allow the costs of different options to be compared.成本建模算法支持定量分析,因为他们允许选择不同方案的成本进行比较 The time to complete a project is not proportional to t
19、he number of people working on the project.完成项目的时间不与项目工作的人数成正比PPT 4What is Software Requirement? It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.Who does it?RE engineer?Why is it important?The High Cost of R
20、equirement Errors could even lead to the failure of the whole project(product).What are the steps? Feasibility studies Requirements elicitation; Requirements analysis; Requirements validation; Requirements management.What is the work product (artifacts)?How do I ensure that Ive done it right? Using
21、requirement validation technique, check the : Validity. Does the system provide the functions which best support the customers needs? Consistency. Are there any requirements conflicts? Completeness. Are all functions required by the customer included? Realism. Can the requirements be implemented giv
22、en available budget and technology Verifiability. Can the requirements be checked?What are the CASE for our requirement analysis? Requirements storage Requirements should be managed in a secure, managed data store. Change management The process of change management is a workflow process whose stages
23、 can be defined and information flow between these stages partially automated.变更管理的过程是在信息流之间部分自动化的可以被定义的工作流程的阶段 Traceability management Automated retrieval of the links between requirements.Points: User requirements Statements in natural language plus diagrams of the services the system provides and
24、 its operational constraints. Written for customers. System requirements A structured document setting out detailed descriptions of the systems functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor. 一个结构化文件,详细的列
25、出了系统的功能与服务和运作上的限制,定义了客户和承包商之间的合同的一部分该怎样实施 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. Non-functional requirements Constraints on the services or functions offered
26、 by the system such as timing constraints, constraints on the development process, standards, etc.Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements. However, there are a n
27、umber of generic activities common to all processes Requirements elicitation; Requirements analysis; Requirements validation; Requirements management.需详细理解。Feasibility studies A feasibility study decides whether or not the proposed system is worthwhile. A short focused study that checks If the syste
28、m contributes to organisational objectives; If the system can be engineered using current technology and within budget; If the system can be integrated with other systems that are used.Elicitation and analysis Sometimes called requirements elicitation or requirements discovery. Involves technical st
29、aff working with customers to find out about the application domain, the services that the system should provide and the systems operational constraints. May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders.Requirements
30、validation Concerned with demonstrating that the requirements define the system that the customer really wants. Requirements error costs are high so validation is very important Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error.Requirement
31、s management Requirements management is the process of managing changing requirements during the requirements engineering process and system development. Requirements are inevitably incomplete and inconsistent New requirements emerge during the process as business needs change and a better understanding of the system is developed; Different viewpoints have different requirements and these are often contradictory.PPT 5 各种架构 如: Client-Server, data-centric etc. 各自的优缺点;适应性等 (如给定一个需求,给出架构设计设想) 分布式体系架构Points:Software architecture The design process for identifying the sub-system
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1