软件工程(双语)复习提纲

合集下载

软件工程复习提纲.doc

软件工程复习提纲.doc

《软件工程》考试复习提纲第一章1、软件工程定义;软件工程是用工程、科学与数学的原则与方法研制、维护计算机软件的有关技术与管理方法。

2、软件危机定义;3、软件工程三要素;方法、工具和过程4、软件生存周期各阶段名称;软件定义、软件开发、软件使川与维护退役5、软件开发各个模型的特点;以软件需求完全确定为前捉的瀑布模型(具有因果关系)只能提供基木需求时采用的渐进式开发模型:原型模型、螺旋模型(风险分析)以形式化开发方法为基础的变换模型基于四代技术的模型(独立于具体的处理机)组合模型可行性研究包括经济可行性、技术可行性、法律可行性、还有开发方案的可行性输入-处理-输出结构是系统建模的基础,它将基于计算机的系统转换成一个信息变换模型第四章需求分析可分为问题分析、需求描述、需求评审三个阶段1、需求分析的任务与原则;任务:1.对问题的识别和理解;2.对需求信息的综合和分析;3.写出软件需求规格说明文档;4.需求分析工作的复审。

2、问题抽象、问题分解与多视点分析;(需要掌握的技术)第五章『—1、数据流图定义,数据流图的画法,基本数据流图的符号;_______ ------ 数据流图就是用来刻曲数据流和转换的信息系统建模技术的。

实体转换数据流数据源顶级1级2级数据对象的属性:命名性属性、描述性属性、引用性属性2、实体关系图的定义与应法:表示数据对彖及其关系的图形语言机制。

数据对象川长方形表示,关系用菱形表示。

数据字典中数据条目包括的内容:名称类型列表简要说明解析性说明补充说明3、基于数据流的分析方法;结构图:用来刻画H标软件系统的结构。

活动图:用來刻画目标软件系统的功能视点。

状态图:用來刻画口标软件系统的行为视点。

第六章1、面向对彖的概念与思想;对彖、类、属性、操作等概念;(1)客观世界屮的应川问题都是市实体及其相互关系构成的。

可以将客观卅:界屮与应川问题有关的实体及其属性抽象为问题空间屮的对象。

(2)对象:是现实世界中个体或事物的抽象表示,是英属性和相关操作的封装。

软件的工程(双语)复习提纲

软件的工程(双语)复习提纲

Chapter 1 An Introduction to Software Engineering *What is software?-Computer programs and associated documentation and Data-Two fundamental types of software product: generic products and customized products*What is software engineering?-Software engineering is an engineering discipline which is concerned with all aspects of software production*What is the difference between software engineering and computer science?-Computer science is concerned with theory and fundamentals;-software engineering is concerned with the practicalities of developing and delivering useful software*What is a software process?-A set of activities whose goal is the development or evolution of software-Generic activities in all software processes are:•Specification 、Development 、Validation 、EvolutionChapter 4 Software Process*Software process-Software processes are the activities involved in producing and evolving a software system.-A structured set of activities required to develop a software system: specification; design and implementation; validation; evolution.-General process activities are specification, design and implementation, validation and evolution.*Software process models-Software process models are abstract representations of these processes.-Generic process models describe the organisation of softwareprocesses. Examples include the waterfall model, evolutionary development and component-based software engineering.-waterfall model is only appropriate when the requirements are well-understood and changes-The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites-There are two fundamental types of evolutionary development: exploratory development and throw-away prototyping-Exploratory development should start with well-understood requirements and add new features as proposed by the customer-Throw-away prototyping should start with poorly understood requirements to clarify what is really needed.- Evolutionary development is mostly used for small or medium-size interactive systems and short-lifetime systems*Iterative process models describe the software process as a cycle ofactivitiesChapter 5 Project management*Primary project management activities:-Proposal writing.-Project planning and scheduling.-Project costing.-Project monitoring and reviews.-Personnel selection and evaluation.-Report writing and presentations.*Project planning-Milestones are the end-point of a process activity.-Deliverables are project results delivered to customers.*Project scheduling-Organize tasks concurrently to make optimal use of workforce.-Minimize task dependencies to avoid delays caused by one task waiting for another to complete.-Graphical notations used to illustrate the project schedule: bar charts and activity networks-Activity charts show task dependencies and the critical path.-Bar charts show schedule against calendar time.Task durations and dependenciesstartT2M3T6Fin ishT10M7T5T7M2T4M5T84/7/038 d ays4/8/0315 d a ys25/8/037 d ays5/9/0310 d a ys19/9/0315 d a ys11/8/0325 d ays10 d ays20 d ays5 d ays25/7/0315 d ays25/7/0318/7/0310 d a ysT1M1T3T9M6T11M8T12M4Activity networkActivity bar chart (Gantt chart)Staff allocation vs. time chart chart*Risk management-Three related categories of risk: project risks, product risks, business risks-Project risks affect schedule or resources;-Product risks affect the quality or performance of the software being developed;-Business risks affect the organisation developing or procuring the software-The process of risk management involves several stages: Risk identification, Risk analysis, Risk planning, Risk monitoring.-Risk identification: Identify project, product and business risks;-Risk analysis: Assess the likelihood and consequences of these risks;-Risk planning: Draw up plans to avoid or minimise the effects of the risk;-Risk monitoring: Monitor the risks throughout the project;The risk management processChapter 6 Software Requirements*Types of requirement:-Functional and non-functional requirements-User requirements and system requirements*Functional and non-functional requirements-Functional requirements•Statements of services the system should provide, how the system should react to particular inputs and how the systemshould behave in particular situations.-Non-functional requirements•Constraints on the services or functions offered by the system such as timing constraints, constraints on thedevelopment process, standards, etc.-The types of non-functional requirement are: productrequirements, organisational requirements, externalrequirements.-Functional requirements set out services the system should provide.-Non-functional requirements constrain the system being developed or the development process.*In principle, requirements should be both complete and consistent.-Complete•They should include descriptions of all facilities required.-Consistent•There should be no conflicts or contradictions in the descriptions of the system facilities.Chapter 7 Requirements Engineering Processes*The requirements engineering process includes- Feasibility study, requirements elicitation and analysis, requirements specification and requirements management.Chapter 8 System Model*Different models present the system from different perspectives •External perspective showing the system’s context or environment;•Behavioural perspective showing the behaviour of the system;•Structural perspective showing the system or data architecture.*Two types of behavioural model are:•Data flow models that show how data is processed as it moves through the system;•State machine models that show the systems response toevents.Chapter 11 Architectural Design*Architecture and system characteristics-performance•Localise critical operations and minimise communications.Use large rather than fine-grain components.-security•Use a layered architecture with critical assets in the inner layers.-safety•Localise safety-critical features in a small number of sub-systems.-Availability•Include redundant components and mechanisms for fault tolerance.-Maintainability•Use fine-grain, replaceable components, avoid data shareChapter 12 Distributed Systems Architectures*Distributed systems architectures-Client-server architectures•Distributed services which are called on by clients. Servers that provide services are treated differently from clients thatuse services.-Distributed object architectures•No distinction between clients and servers. Any object on the system may provide and use services from other objects.*Middleware is usually off-the-shelf rather than specially written software.*Layered application architecture-Presentation layer•Concerned with presenting the results of a computation to system users and with collecting user inputs.-Application processing layer•Concerned with providing application specific functionalitye.g., in a banking system, banking functions such as openaccount, close account, etc.-Data management layer•Concerned with managing the system databases.*Thin and fat clients-Thin-client model•In a thin-client model, all of the application processing and data management is carried out on the server. The client issimply responsible for running the presentation software.-Fat-client model•In this model, the server is only responsible for data management. The software on the client implements theapplication logic and the interactions with the system user.* Three-tier architecturesA 3-tier C/S architecture*P2P architectural models-Peer to peer architectures are decentralised architectures where there is no distinction between clients and servers.-The logical network architecture•Decentralised architectures;•Semi-centralised architectures.Decentralised p2p architectureSemi-centralised p2p architectureChapter 13 Application architectures*Important classes of application are data processing systems, transaction processing systems, event processing systems and languageprocessing system.*Data processing systems operate in batch mode and have an input-process-output structure.Chapter 14 Object-oriented Design*Objects and object classes-Objects are entities in a software system which represent instances of real-world and system entities.-Objects are members of classes that define attribute types and operations.-Object classes are templates for objects. They may be used to create objects.-Object classes may inherit attributes and services from other object classes.*Use-case models are used to represent each interaction with the system.Chapter 16 User interface design*Human factors in interface design-Limited short-term memory•People can instantaneously remember about 7 items of information. If you present more than this, they are moreliable to make mistakes.-People make mistakes•When people make mistakes and systems go wrong, inappropriate alarms and messages can increase stress andhence the likelihood of more mistakes.-People are different•People have a wide range of physical capabilities. Designers should not just design for their own capabilities.-People have different interaction preferences•Some like pictures, some like text.*User interface design principles*MVC approaches (Information presentation,pp.370)* How to design UI (Information presentation, pp. 375)Figure **.1 An input text box used by a nurseFigure **.2 system and user-oriented error messages*The UI design process-The 3 core activities in this process are:•User analysis. Understand what the users will do with the system;•System prototyping. Develop a series of prototypes for experiment;•Interface evaluation. Experiment with these prototypes with users.*Some evaluation of a user interface design should be carried out to assess its suitability.Attribute DescriptionLearnability How long does it take a new user to become producthe system?实用标准文案精彩文档。

软件工程(双语)(最全)word资料

软件工程(双语)(最全)word资料

软件工程(双语)(最全)word资料软件工程(双语)Software Engineering课程编号:B0301101S学分: 3开课学院:计算机学院课内学时:48课程类别:专业基础课课程性质:必修一、课程的性质和目的Curriculum nature:The course is professional required course of Software Engineering Major.Object:The Software Engineering is the basis course of computer and related sciences. It is an engineering discipline where software engineers use methods and theory from computer science and apply it cost-effectively to solve difficult problems. This course presents a broad perspective on software engineering, such as software lifecycle, qualities of software, design, specification and verification of software, programming environments and tools, structural oriented programming and object oriented programming. Furthermore, the quality management, process improvement, software change, configuration management are also discussed.二、课程教学内容及基本要求(一)课程教学内容及知识模块顺序KNOWLEDGE UNIT 1: INTRO TO SOFTWARE ENGINEERING (2h)(1)Knowledge point 1 The Evolving Role of Software(2)Knowledge point 2 The Nature of Software(3)Knowledge point 3 Legacy SoftwareBasic requirement: Understand the basic conception of software engineering, master the Nature of software, master the definition of software engineering.KNOWLEDGE UNIT 2: A GENERIC VIEW OF PROCESS (4h)(1)Knowledge point 1 A Layered Technology(2)Knowledge point 2 A Process Framework(3)Knowledge point 3 The Capability Maturity Model IntegrationBasic requirement: Understand the conception of software processes, master the basic processes of software analyze,design, implement and test, understand the definition of CMMI.KNOWLEDGE UNIT 3: PROCESS MODELS (2h)(1)Knowledge point 1 Prescriptive Models(2)Knowledge point 2 Waterfall Model(3)Knowledge point 3 Incremental Process, Evolutionary Process(4)Knowledge point 4 Unified Process, Agile ProcessBasic requirement: Understand the various process models, such as waterfall model, Unified Process and Agile Process.KNOWLEDGE UNIT 4: REQUIREMENTS ENGINEERING (4h)(1)Knowledge point 1 Bridge to Design and Construction(2)Knowledge point 2 Requirements Engineering Tasks(3)Knowledge point 3 Initiating the Requirements Engineering Process(4)Knowledge point 4 Eliciting RequirementsBasic requirement: Master the steps of requirements engineering process, understand the role of abridge to design.KNOWLEDGE UNIT 5: THE ANAL YSIS MODEL (6h)(1)Knowledge point 1 Requirements Analysis Modeling(2)Knowledge point 2 Data, functional and Behavioral(3)Knowledge point 3 Flow-Oriented Modeling(4)Knowledge point 4 Object-Oriented ModelingBasic requirement: Master the conception and method of requirement analyze, understand the user requirement and system requirement, master the main content of Flow-Oriented and Object-Oriented Modeling.KNOWLEDGE UNIT 6: DESIGN ENGINEERING (4h)(1)Knowledge point 1 Design Process and Design Quality(2)Knowledge point 2 Design Concepts(3)Knowledge point 3 Design Model(4)Knowledge point 4 Design PatternBasic requirement: Master the steps of design engineering process, understand the role of a bridge to construction, understand the conception of design pattern.KNOWLEDGE UNIT 7: ARCHITECTURAL DESIGN (4h)(1)Knowledge point 1 Software Architecture(2)Knowledge point 2 Data Design(3)Knowledge point 3 Architectural Design(4)Knowledge point 4 Mapping Data Flow into a Software ArchitectureBasic requirement: Master the Structural Design method, including data flow diagram, data dictionary, and control models, understand the software design specification.KNOWLEDGE UNIT 8: COMPONENT-LEVEL DESIGN (6h)(1)Knowledge point 1 Designing Class-Based Components(2)Knowledge point 2 Conducting Component-Level Design(3)Knowledge point 3 Designing Conventional ComponentsBasic requirement: Understand the conception of components, Master the modular decomposition KNOWLEDGE UNIT 9: TESTING STRA TEGIES (4h)(1)Knowledge point 1 Software Testing Strategic(2)Knowledge point 2 Test Strategies for Conventional Software(3)Knowledge point 3 Test Strategies for Object-Oriented Software(4)Knowledge point 4 Validation Testing(5)Knowledge point 5 System TestingBasic requirement: Understand the basic definition of verification and validation, Master the steps of software testing process, Master the conventional software test strategies, understand the Object-Oriented Software test strategies.KNOWLEDGE UNIT 10: TESTING TACTICS (6h)(1)Knowledge point 1 Software Testing Fundamentals(2)Knowledge point 2 Black-Box and White-Box Testing(3)Knowledge point 3 Object-Oriented Testing MethodsBasic requirement: Understand the basis of software testing fundamentals, master the main contents of unit testing and integration testing, master the design of black-box and white-box testing. KNOWLEDGE UNIT 11: QUALITY MANAGEMENT (2h)(1)Knowledge point 1 Software Quality(2)Knowledge point 2 Software Quality Assurance(3)Knowledge point 3Software ReliabilityBasic requirement: Understand the definition of software Quality Management, master the basic method of software quality control.KNOWLEDGE UNIT 12: CHANGE MANAGEMENT (4h)(1)Knowledge point 1 Software Configuration Management(2)Knowledge point 2 SCM Process(3)Knowledge point 3 Version ControlBasic requirement: Understand the basic requirements of software change, understand the definition of software configuration management, master the version control.(二)课程的重点、难点及解决办法Curriculum focuses on the establishment of the basis theory of software engineering,and it is difficulty to design a suitable practical activity for the most students in software development process, making it better able to establish the basic theory and methods of software engineering. Therefore, students are organized in small groups as a unit. Teachers and students jointly build a development issue, gradually expand the development of practice activities, and use classroom-style assessment. The teach model can initiative to mobilize the students as possible.三、实验实践环节及基本要求1.实验实践教学环节在本课程中的作用及要求(实验教学大纲单独编写)The experimental practices of this course need to complete the software development process the main part of the three major activities and a supporting framework, including requirements analysis, software design, unit test and software configuration management. These experiments content is all software development activities have to be resolved, can be well reflected in software engineering theory, software development process needs of the technology practice.2.实验项目(具体要求见实验教学大纲)Experiment 1: Designing and Writing Software Requirements Specification (2h)Experiment 2: Designing and Writing Software Design Specification (2h)Experiment 3: Software Unit Testing (2h)Experiment 4: Software Configuration management (2h)四、本课程与其它课程的联系与分工The prep course of this course is data structure. This course is a follow-up to other professional courses on the basis of software engineering major.五、对学生能力培养的要求Through the course of study, students can establish the basic theories and methods of software engineering, master a certain requirement analysis, software design, development and testing capabilities, and master the basic theory of teamwork developed.六、课程学时分配Total 48 hours, including lectures 40 hours, experiments 8 hours. The main contents and distribution of course see the course hour’s allocation table.七、建议教材和教学参考书目1.教材《Software Engineering: A Practitioner’s Approach(英文精编版,第6版)》, Roger S. Pressman, 机械工业出版社,20202.主要参考书[1]《Software Engineering (8th Edition)》,Ian Sommerville,机械工业出版社,2020.[2]《软件工程(第8版)》,程成,陈霞,机械工业出版社,2020.[3]《软件工程:实践者的研究方法(本科教学版)》Roger S. Pressman,机械工业出版社,2020八、课程考核The course use close examination pattern. The academic performance mainly results from the final examination and the usual performance, which accounted for 70% of the final examination, usually performance accounted for 30%. Usually performance is mainly decided by working projects of the courses, supplemented by after-school work and attendance.九、说明In the teaching process, it is need to the divided students into a group of 3-6 people. They need to complete a software development project collaboratively with courses progress.执笔人:宗平审核人:陈志教学院长:孙力娟编写完成时间:2009年10月20日软件工程专业介绍培养目标:本专业培养适应社会发展需求,德、智、体、美全面发展,具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的实践能力和创新精神,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按照工程化的原则和方法从事软件项目开发和管理的应用型人才。

《软件工程》复习提纲

《软件工程》复习提纲

《软件工程》复习提纲一一、、 授授课课的的主主要要内内容容11.. 基基本本概概念念((11)) 有有关关““软软件件工工程程””的的基基本本概概念念11))软软件件工工程程的的诞诞生生那是1968……22))软软件件危危机机计计算算机机软软件件开开发发和和软软件件维维护护过过程程中中所所遇遇到到的的一一系系列列严严重重问问题题统统称称为为““软软件件危危机机””。

概括地说,软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。

33))软软件件包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件(计算机)。

文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。

软软件件由由计计算算机机程程序序,,数数据据结结构构和和文文档档组组成成。

计算机程序执行特定的功能;数据结构是程序运行所需的数据;文档是描述程序开发、使用和维护的资料。

44)) 软软件件工工程程的的概概念念采采用用工工程程学学的的原原理理来来管管理理和和从从事事软软件件的的开开发发和和软软件件维维护护,,称称为为软软件件工工程程。

(工程学:系统化、规范化、数量化)55))软软件件质质量量的的基基本本概概念念(a )软件质量的定义与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体。

具体来说:1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。

(b )软件质量特性(1)功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。

(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。

(3)易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。

(4)效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。

(5)维护性:软件产品可被修改的能力。

软件工程复习提纲(20160615)

软件工程复习提纲(20160615)

软件工程复习提纲Chapter11.开发文档都有哪些?用图来表示它们之间的关系。

2.说明软件工程研究的内容.3.软件工程的7条基本原理有何现实意义。

4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别?5.怎样理解CMMI,如何用CMMI去管理软件企业?6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么?7.软件工程与信息系统工程有何异同?8.怎样理解元数据?Chapter21.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系?2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。

3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么?4.你对“生存周期模型裁剪指南"有什么看法?5.“图书馆信息系统”的开发选用什么开发模型合适?Chapter31.立项的具体表现形式是什么?2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员?3.什么叫风险分析,技能风险与技术风险有何区别?3.合同、任务书、立项建议书三者有何异同?有何关系?4.对软件项目和产品的“功能、性能、接口"三项指标如何理解?Chapter41.需求分析的目的是什么,需求分析的难点在哪里?2.需求分析的理论基础有哪几条?3.为什么说需求分析是面向流程的?4.解释术语:元数据、实体、中间数据.5.用户需求报告与需求规格书有何差异?6.需求描述有哪几种工具?你喜欢哪一种,为什么?1.简述软件策划的步骤.2.简述软件策划的方法。

3.简述对软件工作产品规模进行量化估计的方法。

4.软件工作产品和软件产品有何异同?5.名称解释:直接人工、直接费用、间接成本、制造费用、管理费用、不可预见费用。

6.怎样理解软件中的度量,它有何作用?Chapter61.概要设计说明书和详细设计说明书有何区别?2.怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?3.模块实现设计包括哪些内容?4.为什么软件设计要遵守“抽象、分解与模块化、低耦合高内聚、封装、接口和实现分离”的设计原理?Chapter71.简述UML的优缺点。

软件工程双语 讲义 大纲模式

软件工程双语 讲义 大纲模式

《软件工程(双语)》参考教材:《Software engineering》8th Edition Ian Sommervile,Pearson Education, 机械工业出版社,2006参考书目:1、Software Engineering Theory and Practice(Second Edition影印版), Shari Lawrence Pfleeger,Pearson Education, 20012、《软件工程》第四版张海藩清华大学出版社,20073、软件工程,王忠群主编中国科学技术大学出版社 2009-11-14、Software engineering : a practitioner's approach / Roger S. Pressman. 6th ed. Pressman, Roger S. China Machine Press, 2008说明:斜体部分是可选讲授内容, 带星号的习题为可选。

Chapter 1(1) Introduction●Getting started with software engineering1.1Objectives1.To introduce software engineering and to explain its importance2.To set out the answers to key questions about software engineering3.To introduce ethical and professional issues and to explain why they are of concern tosoftware engineers1.2Topics covered1.FAQs about software engineering2.Professional and ethical responsibility1.3Importance of Software engineering●The economies of ALL developed nations are dependent on software.●More and more systems are software controlled●Expenditure on software represents a significant fraction of GNP (gross National product) inall developed countries.( GNP与GDP的关系是:GNP等于GDP加上本国投在国外的资本和劳务的收入再减去外国投在本国的资本和劳务的收入。

软件工程双语教学大纲

软件工程双语教学大纲

《软件工程》(双语)教学大纲课程编号:06301525 课程性质:必修课程名称:软件工程概论学时/ 学分:48/2.5英文名称:Software Engineering 考核方式:开卷考试选用教材:《Software Engineering –A Practitioner’sApproach》Fifth Edition, R.S.Pressman, McGraw Hill,清华大学出版社影印大纲执笔人:顾春华先修课程:高级语言程序设计、数据库原理大纲审核人:适用专业:计算机科学与技术一、教学基本目标《软件工程》是计算机科学与技术专业本科生的一门的专业基础课,旨在使学生掌握软件工程的基本概念、原理和方法,从软件开发技术、软件工程管理和软件工程环境等几个方面了解如何将系统的、规范化的和可以度量的工程方法运用于软件开发和维护中。

要求学生通过本门课的学习,掌握结构化方法、面向对象方法等软件开发技术,初步了解软件复用的概念及基于构件的开发方法,同时对软件工程管理和环境等内容有一个总体的了解。

二、教学基本内容第一章绪论(Introduction)本章主要介绍软件的基本概念、软件危机、软件工程学的范畴、传统软件工程和面向对象软件工程以及软件工程的应用。

重点掌握:学习软件工程的意义,软件工程的范畴。

第二章软件生存期和软件开发模型(Software Lifecycle and Software Development Model) 本章从叙述软件生存周期开始,介绍了传统的软件开发模型(瀑布模型、快速原型模型)、软件演化模型(增量模型、螺旋模型)、面向对象过程模型(构件集成模型)、基于形式化方法的软件开发模型(转换模型、净室模型)等。

重点掌握:各种软件开发模型的内容,不同开发模型的特点比较。

第三章软件需求分析(Software Requirement Analysis )需求分析是软件生存周期中的一个重要阶段,本章在介绍了软件需求分析的任务、步骤后,分别按结构化和面向对象两类方法,给出了需求分析模型和它们的描述工具,并结合实例进一步阐述了结构化分析和面向对象分析的过程。

软件工程复习提纲(附答案)

软件工程复习提纲(附答案)

软件工程复习提纲(附答案)软件工程第一章软件工程介绍1、软件的特性:P3软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。

2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P135、软件的定义:P3软件是:指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。

第二章过程综述1、软件工程的三个要素:工具,过程,方法P8过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。

工具:为过程和方法提供自动化或半自动化的支持。

2、通用软件过程框架:沟通,策划,建模,构建,部署P9沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。

建模:它包括创建模型和设计两方面。

创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。

构建:它包括编码和测试。

部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P19沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。

软件工程复习资料英文

软件工程复习资料英文

Lecture 1 An Introduction to Software Engineering1 what does software engineering concern?1) Software engineering is concerned with theories, methods and tools for professionalsoftware development.2) Software engineering is concerned with cost-effective software development.2 What is software?Software includes:①computer programs②data structures③documents3 What is the two types of software productsGeneric software(通用软件) and custom software(定制软件)4 The three key elements of a successful software project are:on time, within budget, satisfies the user’s needs5 Generic activities in all software processes are:Specification(描述), Development(开发), Validation(有效性验证), Evolution(进化)6 The attributes of good software include:Maintainability(可维护性), Dependability(可依赖性), Efficiency(有效性), Acceptability(可接受性)Lecture 2 Software Processes1 What is a software process modelA software process model is an abstract representation of a software process. It presents a description of a process from some particular perspective.2 Draw the graphic presentation of Waterfall model and describe its character.1)这种模型把软件过程划分成几个顺序的阶段。

软件工程(双语)》复习范围

软件工程(双语)》复习范围

2011~2012学年第二学期期末考试《软件工程(双语)》复习范围注意事项:每个学生必须写上本人的学号、任课教师姓名、姓名、班级,另外所有的答案必须全部写在答卷纸上请不要写的试卷上,试题及答卷一同交上。

Part 1 Select the most appropriate choice to answer the following questions or to complete following statements. (1*15 =15 )1. . Which one of following statement about Client-server architecture is notcorrect?a)Set of stand-alone servers which provide specific services such as printing,data management, etc.b)Set of clients which call on these services.c)Most of the data is stored in the most important server.d)Network which allows clients to access servers..2. . Several techniques of Requirements discovery are covered in this book. Whichone is not the case?a)Model-driven engineeringb)Scenariosc)Interviewingd)EthnographyPart 2 Mark the right statement √, the wrong statement×(1*15=15)1.In the software architecture design,using large-grain componentsimproves performance and maintainability.2.According Lehman and Belady's ‘laws’ , A program that is used in areal-world environment must necessarily change, or else becomeprogressively less useful in that environment.Part 3 Fill the blankets: (1*15=15)1.the attributes of good software are are ,______________________, _____________________.2.General issues that affect most software areheterogeneity , , .3.The reasons of software changeare , ,, , .4.Generic process modelsare , ,.5. A structured set of activities required to develop a software system, whichare , ______________________,_____________________.Part 4 Answer the following questions in brief. (4*5=20 )1.What are the program testing goals?2.What is architectural patterns?3.What is the difference between software engineering and computer science?4.What differences has the web made to software engineering?5.What is Software architecture design?6.What is Path testing?Part 5 Solve the following problems(30)1.(5) Based on your experience with a bank ATM, draw an activity diagramthat models the data processing involved when a customer withdraws cashfrom the machine.2.(5) Develop a sequence diagram showing the interactions involved in aapplication.3.(5) Design the application architecture using the MVC pattern.4.(5)Design a set of test data to accomplish the path testing about thefollowing program (Figure 1).5.(10) Based on the statechart which models a application, describe the wholeprocess in detail.。

软件工程复习大纲

软件工程复习大纲

考试题型名词解释、填空、简答题、应用题(分析、设计、测试等)重点内容第1章软件与软件工程的概念1.了解与软件相关的基本概念,包括软件、程序、数据、文档。

2. 了解软件危机的表现及发生的原因。

3. 掌握软件工程的概念。

4.软件生命周期由哪三个时期组成,每个时期又可划分为哪些阶段?每个阶段的主要任务是什么?5.掌握软件工程方法学的三个基本要素及其作用。

6.了解传统方法及面向对象方法各自的特点。

第2章软件生存期模型1.典型的生存期模型(即软件过程模型)有哪几种,每种模型有哪些优缺点。

第3章结构化分析与设计方法1. 掌握结构化分析模型的结构,主要由哪些模型组成?2. 掌握数据流图、分层数据流图的画法。

3. 掌握数据字典的定义方法。

4. 掌握使用判定表和判定树描述加工规格说明。

第4章结构化设计方法1. 了解结构化设计的概念、原则、任务。

2. 掌握结构化设计的图形工具。

3.掌握面向数据流的设计方法和设计过程,能够区分两种典型的数据流,并掌握相应的变换分析方法及事务分析方法。

4. 软件模块结构的改进(启发式规则)。

提高模块独立性、深度和宽度、扇出和扇入应适当、作用范围和控制范围原则等。

5.人机交互设计的准则。

6. 掌握常用的详细设计(过程设计)的描述工具。

第5章面向对象方法与UML1. 了解UML中的事物及其分类。

2. 了解UML中的关系,包括依赖关系、关联关系、泛化关系和实现关系等。

3. 掌握UML中5种类型的图,包括用例图、类图、顺序图、状态图、活动图。

第6章面向对象分析1.了解面向对象分析中的三个模型和五个层次。

2.掌握有关用例模型、对象模型和动态模型的基本概念。

3.能够针对具体应用,建立用例模型、对象模型和动态模型(状态图和顺序图)的过程。

第7章软件体系结构与设计模式1.了解客户机/服务器体系结构,B/S结构、C/S结构2.掌握面向对象设计原则:单一职责原则、里氏代换原则、依赖倒转原则、合成复用原则。

《软件工程(双语)》课程教学大纲

《软件工程(双语)》课程教学大纲

《软件工程(双语)》课程教学大纲课程编号:04221102总学时数:48总学分数:3课程性质:必修课程适用专业:计算机科学与技术一、课程的任务和基本要求:软件工程是计算机科学与技术专业的一门必修课程。

本课程按照软件开发流程,主要讲述软件需求分析、软件架构设计、软件详细设计、软件编码、软件测试、软件维护等内容。

要求学生掌握基本的软件工程化开发的步骤,领会软件工程思想,培养一定的软件项目管理能力,理解软件工程的必要性和必然性;同时,也要求学生重视软件开发人员的责任感和职业道德的培养。

二、基本内容和要求:1、软件工程概述教学内容:概括介绍软件的概念、软件工程基本概念及其学科发展背景。

教学要求:(1) 了解软件、软件工程的基本概念(2) 了解软件工程学科的知识体系、软件工程的发展方向(3) 熟悉软件危机的产生、危害及其对软件工程发展的推动作用2、软件过程管理教学内容:介绍软件过程的基本活动,讨论具体的软件过程模型,分析相关案例。

教学要求:(1) 了解软件过程的基本活动(2) 熟悉各类软件过程模型的特点(3) 利用过程模型,能够掌握一定的案例分析能力3、软件项目管理教学内容:介绍软件项目管理的基本内容,讨论软件项目的人员管理、沟通管理、风险管理、软件项目规划、软件配置管理方法。

教学要求:(1) 了解软件项目管理的基本内容(2) 熟悉软件项目人员管理、沟通管理、风险管理的具体管理方法(3) 重点掌握软件项目规划及其文档标准化、软件配置管理的方法和相关工具的使用4、软件需求工程教学内容:介绍软件需求的基本内容,讨论软件需求获取及分析的基本流程、描述需求工程的主要规范化流程。

教学要求:(1) 了解软件需求的基本内容(2) 熟悉需求获取的基本流程(3) 重点掌握需求分析过程、方法及其文档标准化5、软件分析与设计教学内容:介绍软件分析与设计的基本内容,引出面向对象方法和结构化方法两种主流技术的基本概念及比较分析两者的特点教学要求:(1) 了解软件分析与设计的基本内容(2) 熟悉两种主流方法的基本概念、特点(3) 根据具体项目情况,能够掌握一定的设计方法选择能力6、面向对象方法教学内容:讨论面向对象方法的表达体系UML语言语法、基于用例的面向对象建模、面向对象分析方法、面向对象设计方法,描述相应设计内容的文档标准化,分析相关案例。

软件工程复习纲要

软件工程复习纲要

软件工程复习纲要第一章、概述1、软件危机的概念与主要原因(1)软件危机是指在计算机软件开发与维护时所遇到的一系列问题。

(2)软件危机产生的原因:软件规模、方法、技术、软件开发人员;客观:规模,环境,需求变化;主观:开发技术,管理。

✓软件产品规模庞大,开发与维护带来客观困难✓软件使用同期相对较长,期间可能出现开发没料到的问题,需要与时维护✓软件开发技术落后,生产方式与开发工具落后✓软件开发人员忽视软件需求分析的重要性,轻视软件维护2、软件、软件工程、软件工程学的概念(1)软件是指计算机程序与其有关的数据与文档。

(2)软件工程(software engineering)是计算机软件开发、运行、维护与隐退的系统方法;是指导计算机软件开发与维护的工程学科;软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。

(3)软件工程学的主要内容是软件开发技术(包含软件工程方法学、软件工具与软件开发环境)与软件工程管理(包含软件工程经济学与软件管理学)。

更多内容请见P.4;3、软件生命周期与生命周期各阶段的任务(1)软件生命周期指从设计软件产品开始到产品不能使用为止的时间周期。

包括:定义,开发,使用,维护,淘汰。

(2)软件生命周期各阶段的任务✧软件计划、软件开发与软件运行维护三个时期。

✧软件计划时期:问题定义、可行性研究、需求分析✧软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。

✧软件运行维护时期:需要不断地进行维护,使软件持久满足用户需要4、软件开发模型的几种模型与各模型的特征(1)瀑布模型(Waterfall Model) :(规范的、文档驱动方法。

开发阶段按顺序进行,适合需求分析较明确、开发技术较成熟的情况。

)特点:阶段间具有顺序性与依赖性;推迟实现编码;质量保证。

(2)快速原型模型:(快速原型系统让用户试用并收集用户意见。

获取用户真实需求。

)特点:软件产品的开发基本上是线性顺序进行的;能减少软件的总成本,缩短开发周期。

南邮软件工程双语复习提纲

南邮软件工程双语复习提纲

南邮软件⼯程双语复习提纲软件⼯程(双语)复习⼤纲(2013年)IntroThe role of software, Software Engineering, Software MythsA Layered Technology:Tools, Methods, Process, QualityProcess Framework: Umbrella activities, Framework ActivitySoftware Process Model: Waterfall Model, Incremental Model, Evolutionary Models, Unified Process, Agile Process: eXtreme ProgrammingModelingRequirements Engineering: Inception, Elicitation, Elaboration , Negotiation, Specification , Validation, Requirements managementRequirements Analyze: operational, interface, constraints; data, function, behaviorTwo Analysis model Methods: Structured Analysis, Object-Oriented AnalysisFour Elements: Scenario-based elements, Class-based elements, Behavioral elements, Flow-oriented elements Diagram: Use case, Class, Sequence, State; ERD, DFDDesign Principle: Abstraction, Architecture, Patterns, Modularity, Hiding, Functional independence, Refinement, RefactoringThe Design Model: Data, Architectural, Interface, ComponentData Design: Database, Data structureArchitectural Styles: Data-centered, Data flow, Call and return, Object-oriented, LayeredStructured Design: Transform flow, Transaction flowBasic Design Principles: Open-Closed,Liskov Substitution Principle,Dependency Inversion,Interface Segregation,Release Reuse Equivalency,Common Closure,Common ReuseComponent Level Design Steps, Algorithm Design: A Structured Procedural Design,Decision Table,PDLUser Interface Design: Golden RulesQualitySoftware Quality Concepts, Formal Technical Reviews, Software Quality AssuranceTesting Strategy: Unit testing, Integration testing, Validation testing, System testingTest Case, Black Box: Basis Path Testing, Control Structure Testing, White Box: Equivalence Partitioning, Boundary Value AnalysisSoftware Configuration Management: SCI, Baseline, Repository, SCM ProcessManagingSoftware Project Management南京邮电⼤学计算机学院2013.6。

软件工程复习大纲

软件工程复习大纲

软件工程复习大纲软件工程复习大纲1. IEEE是如何定义的软件和软件工程的?2. 软件工程三个要素是什么?3. 软件工程基础理论研究和工程化技术研究的内容是什么?4. 软件是如何分类的?5. 为什么软件维护的费用一直居高不下?根据你的分析,软件维护的主要困难何在?克服这些困难的途径何在?6. 系统分析过程,必须考虑哪八个方面的问题?7. 系统分析员应具备的素质是什么?8. 系统技术评审的评审内容包括哪些问题?9. 系统管理评审的范围应包括哪些比较关键的问题?10. Vitalari和Dickson的研究说明系统分析和设计哪六大困难?11. 软件需求分析的基本原则有哪些?12. 建立快速原型进行系统的分析和构造,有哪些好处?13. PIECES模型的组成部分是什么?对每个组成部分进行简要描述。

14. 说出并简述科德对问题域需求的收集和建模的面向对象方法的四大活动。

15. 软件工程经常提到“困难”或“复杂”的系统,他们指什么?程序难于理解与程序难于设计之间是否有所差别?16. 试论信息隐蔽与模块的独立性两概念之间的关系。

17. 模块内聚有哪七种类型?18. 传统的软件设计有什么缺点?19. 列出并描述面向对象方法论的8个特点。

20. 软件复用范围的层次和软件复用技术类型?21. 列举并简要讨论科德分析模型的5个层次和4个部件?22. 列举并简要讨论科德面向对象方法论的符号。

23. 描述一个信息系统,最少需求什么?24. 定义符号,简要描述它在面向对象的信息系统中的重要性。

25. 纠错性维护与排错是否同一件事?说明你的理由。

26. 请列出有利于提高可维护性的软件开发和程序设计技术。

27. 提高软件可靠性最有效的技术有哪些?软件可靠性与软件质量有何差别?28. 若你是一个小项目的主管,你将为此工程设置哪些基线,又如何控制它们?29. 制定一个用于配置审计的核查清单(CheckList)30. 简述SW-CMM中的配置管理内容。

《软件工程》复习大纲

《软件工程》复习大纲

《软件⼯程》复习⼤纲第⼀章1.软件:是能够完成预定功能和性能的可执⾏的计算机程序。

包括使程序正常执⾏所需的数据,以及有关描述程序操作和使⽤的⽂档。

即:软件= 程序+ ⽂档2.软件的特征:软件的开发不同于硬件设计、不同于硬件制造、不同于硬件维修。

3.软件危机出现的原因:软件维护费⽤的急剧上升,直接威胁计算机应⽤的扩⼤;4.软件⽣产技术进步缓慢,是家居软件危机的重要原因。

5.软件⼯程学的范畴:软件开发技术(软件开发⽅法学、软件⼯具、软件⼯程环境)、软件⼯程管理(软件管理学、软件经济学、度量学)。

6.软件⼯程:是指导计算机软件开发和维护的⼯程学科。

它采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,⽬的是为了实现按照预期的进度和经费完成软件⽣产计划,同时提⾼软件的⽣产率和可靠性。

7.软件的发展:⼤体经历了程序、软件、软件产品3个阶段。

8.⼯具和⽅法是软件开发技术的两⼤⽀柱。

9.三种编程范型:过程式编程范型、⾯向对象编程范型、基于构件技术的编程范型。

10.三代软件⼯程:①传统软件⼯程②⾯向对象软件⼯程③基于构件的软件⼯程。

第⼆章1.软件⽣存周期:计划、开发、运⾏3个时期。

2.软件⽣存周期的主要活动:需求分析—》软件分析—》软件设计—》编码测试—》软件测试—》运⾏维护注:需求分析(⽤户视⾓):功能需求、性能需求、环境约束、外部接⼝描述。

软件分析(开发⼈员视⾓):建⽴与需求模型⼀致的,与实现⽆关的软件分析模型。

软件设计:总体设计/概要设计、详细设计(确定软件的数据结构和操作)。

单元测试通常与编码同时进⾏。

软件测试:单元测试、集成测试、系统测试。

3.软件过程:围绕软件开发所进⾏的⼀系列活动。

4.瀑布模型是⼀种基于软件⽣存周期的线性开发模型。

5.瀑布模型特点:阶段间的顺序性和依赖性、推迟实现的观点、保证质量的观点。

6.瀑布模型存在的问题:只有在需求分析准确的前提下,才能得到预期的结果。

7.常见的演化模型(渐增式、迭代式):增量模型、螺旋模型。

《软件工程》复习提纲

《软件工程》复习提纲

《软件工程》复习提纲第一篇:《软件工程》复习提纲《软件工程》课程要点λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相关文档的集合;用于实现计算机系统所需要的逻辑方法和控制过程(2)软件危机的含义、表现、产生原因(客观、主观)答:计算机软件开发和维护过程中遇到的一系列严重问题。

软件危机的表现:①对软件开发成本和进度的估计很不准确②已完成的软件不能满足用户需求③软件质量差④软件不可维护⑤软件没有开发文档⑥软件成本在计算机系统总成本中所占的比例逐年上升⑦软件生产率跟不上硬件的发展和计算机迅速普及的趋势与软件的特点有关(客观原因):①软件是计算机系统中的逻辑部件,缺乏“可见性”,管理和控制软件开发过程相当困难②软件在使用期间不存在机械磨损和老化问题,一旦发现错误,通常意味着修改原来的设计,因此软件难维护③软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)与软件开发和维护的方法不正确有关(主观原因):① 开发无计划② 忽视软件需求分析的重要性③ 轻视软件维护④ 无过硬评测手段⑤ 缺乏有力的开发方法和工具⑥ 不重视开发文档等软件配置(3)软件工程学科包括的内容(三要素)、解决的主要问题答:(1)软件工程定义:1)软件工程是指导计算机软件开发和维护的工程学科2)采用工程化的概念、原理、技术和方法来开发和维护软件3)将经过时间考验而证明正确的管理技术和开发技术结合起来,以较经济的手段开发出高质量的软件并有效维护它2)软件工程方法学的三要素:①方法:完成软件开发各项任务的技术方法1 ②工具:为方法的高效运用,而提供的自动或半自动的软件支撑环境③过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤(4)软件生命周期的含义、组成阶段及各阶段主要任务答:软件生命周期:一个软件从定义、开发、运行维护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。

软件工程(双语)复习提纲

软件工程(双语)复习提纲

Chapter 1 An Introduction to Software Engineering*What is software?—Computer programs and associated documentation and Data—Two fundamental types of software product: generic products and customized products*What is software engineering?—Software engineering is an engineering discipline which is concerned with all aspects of software production*What is the difference between software engineering and computer science?—Computer science is concerned with theory and fundamentals;—software engineering is concerned with the practicalities of developing and delivering useful software*What is a software process?-A set of activities whose goal is the development or evolution of software—Generic activities in all software processes are:•Specification 、Development 、Validation 、EvolutionChapter 4 Software Process*Software process-Software processes are the activities involved in producing and evolving a software system。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Chapter 1 An Introduction to Software Engineering *What is software?-Computer programs and associated documentation and Data-Two fundamental types of software product: generic products and customized products*What is software engineering?-Software engineering is an engineering discipline which is concerned with all aspects of software production*What is the difference between software engineering and computer science?-Computer science is concerned with theory and fundamentals;-software engineering is concerned with the practicalities of developing and delivering useful software *What is a software process?-A set of activities whose goal is the development or evolution of software-Generic activities in all software processes are:•Specification 、Development 、Validation 、EvolutionChapter 4 Software Process*Software process-Software processes are the activities involved in producing and evolving a software system.-A structured set of activities required to develop a software system:specification;designand implementation;validation;evolution.-General process activities are specification, design and implementation, validation and evolution.*Software process models-Software process models are abstract representations of these processes.-Generic process models describe the organisation of software processes. Examples include the waterfall model, evolutionary development and component-based software engineering.-The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites-There are two fundamental types of evolutionary development: exploratory development and throw-away prototyping-Exploratory development should start with well-understood requirements and add new features as proposed by the customer-Throw-away prototyping should start with poorly understood requirements to clarify what is really needed.- Evolutionary development is mostly used for small or medium-size interactive systems and short-lifetime systems*Iterative process models describe the software process as a cycle of activitiesChapter 5 Project management*Primary project management activities:-Proposal writing.-Project planning and scheduling.-Project costing.-Project monitoring and reviews.-Personnel selection and evaluation.-Report writing and presentations.*Project planning-Milestones are the end-point of a process activity.-Deliverables are project results delivered to customers.*Project scheduling-Organize tasks concurrently to make optimal use of workforce.-Minimize task dependencies to avoid delays caused by one task waiting for another to complete.-Graphical notations used to illustrate the project schedule: bar charts and activity networks -Activity charts show task dependencies and the critical path.-Bar charts show schedule against calendar time.Task durations and dependenciesstartT2M3T6Fin ishT10M7T5T7M2T4M5T84/7/038 d ays 4/8/0315 d a ys 25/8/037 d ays 5/9/0310 d a ys19/9/0315 d a ys 11/8/0325 d ays 10 d ays 20 d ays 5 d ays 25/7/0315 d ays 25/7/0318/7/0310 d a ys T1M1T3T9M6T11M8T12M4Activity network4/711/718/725/71/88/815/822/829/85/912/919/9T 4T 1T 2M1T 7T 3M5T 8M3M2T 6T 5M4T 9M7T 10M6T 11M8T 12StartFin is hActivity bar chart(Gantt chart)Staff allocation vs. time chart chart*Risk management-Three related categories of risk:project risks, product risks, business risks-Project risks affect schedule or resources;-Product risks affect the quality or performance of the software being developed;-Business risks affect the organisation developing or procuring the software-The process of risk management involves several stages: Risk identification, Risk analysis, Risk planning, Risk monitoring.-Risk identification: Identify project, product and business risks;-Risk analysis: Assess the likelihood and consequences of these risks;-Risk planning: Draw up plans to avoid or minimise the effects of the risk;-Risk monitoring: Monitor the risks throughout the project;The risk management processChapter 6 Software Requirements-Functional and non-functional requirements-User requirements and system requirements*Functional and non-functional requirements-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 by the system such as timing constraints, constraints on the development process, standards, etc.-The types of non-functional requirement are: product requirements, organisational requirements, external requirements.-Functional requirements set out services the system should provide.-Non-functional requirements constrain the system being developed or the development process.*In principle, requirements should be both complete and consistent.-Complete•They should include descriptions of all facilities required.-Consistent•There should be no conflicts or contradictions in the descriptions of the system facilities.Chapter 7 Requirements Engineering Processes*The requirements engineering process includes- Feasibility study, requirements elicitation and analysis, requirements specification and requirements management.Chapter 8 System Model*Different models present the system from different perspectives•External perspective showing the system’s context or environment;•Behavioural perspective showing the behaviour of the system;•Structural perspective showing the system or data architecture.*Two types of behavioural model are:•Data flow models that show how data is processed as it moves through the system;•State machine models that show the systems response to events.Chapter 11 Architectural Design*Architecture and system characteristics-performance•Localise critical operations and minimise communications. Use large rather than fine-grain components.-security•Use a layered architecture with critical assets in the inner layers.-safety•Localise safety-critical features in a small number of sub-systems.-Availability•Include redundant components and mechanisms for fault tolerance.-Maintainability•Use fine-grain, replaceable components, avoid data shareChapter 12 Distributed Systems Architectures*Distributed systems architectures-Client-server architectures•Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use services.-Distributed object architectures•No distinction between clients and servers. Any object on the system may provide and use services from other objects.*Middleware is usually off-the-shelf rather than specially written software.*Layered application architecture-Presentation layer•Concerned with presenting the results of a computation to system users and with collecting user inputs.-Application processing layer•Concerned with providing application specific functionality e.g., in a banking system, banking functions such as open account, close account, etc.-Data management layer•Concerned with managing the system databases.*Thin and fat clients-Thin-client model•In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software.-Fat-client model•In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user.* Three-tier architecturesA 3-tier C/S architecture*P2P architectural models-Peer to peer architectures are decentralised architectures where there is no distinction between clients and servers.-The logical network architecture•Decentralised architectures;•Semi-centralised architectures.Decentralised p2p architectureSemi-centralised p2p architectureChapter 13 Application architectures*Important classes of application are data processing systems, transaction processing systems, event processing systems and language processing system.*Data processing systems operate in batch mode and have an input-process-output structure.Chapter 14 Object-oriented Design*Objects and object classes-Objects are entities in a software system which represent instances of real-world and system entities.-Objects are members of classes that define attribute types and operations.-Object classes are templates for objects. They may be used to create objects.-Object classes may inherit attributes and services from other object classes.*Use-case models are used to represent each interaction with the system.Chapter 16 User interface design*Human factors in interface design-Limited short-term memory•People can instantaneously remember about 7 items of information. If you present more than this, they are more liable to make mistakes.-People make mistakes•When people make mistakes and systems go wrong, inappropriate alarms and messages can increase stress and hence the likelihood of more mistakes.-People are different•People have a wide range of physical capabilities. Designers should not just design for their own capabilities.-People have different interaction preferences•Some like pictures, some like text.*User interface design principles*MVC approaches (Information presentation, pp.370)Figure: the MVC model of user interaction * How to design UI (Information presentation, pp. 375)Figure **.1 An input text box used by a nurseFigure **.2 system and user-oriented error messages*The UI design process-The 3 core activities in this process are:•User analysis. Understand what the users will do with the system;•System prototyping. Develop a series of prototypes for experiment;•Interface evaluation. Experiment with these prototypes with users.*Some evaluation of a user interface design should be carried out to assess its suitability.Attribute DescriptionLearnability How long does it take a new user to become producthe system?Speed of operation How well does the system response match the usepractice?Robustness How tolerant is the system of user error?Recoverability How good is the system at recovering from user erroAdaptability How closely is the system tied to a single model of w精品文档word文档可以编辑!谢谢下载!。

相关文档
最新文档