logo资料库

四川大学软件工程复习重点与解题.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
• R.S. Pressman, 5th ed., 教材第 1-19 章,除第 4 章、5 章、6 章、15 章、 17 章、 19.8 节、19.9 节、19.10 节、19.11 节以外; • 形式:选题题(30%),判断改错题 (20%), 名词解释(20%),简要问答问题(20%), 应用题(10%) 第 1 章:软件工程介绍 • 软件的定义和软件的特征 • 软件与硬件的区别 • 遗留软件与软件的演化 第 2 章:过程综述 • 软件工程定义 • 软件工程的层次:工具、方法、过程和质量关注点 • 通用过程框架的框架活动:沟通 、策划、建模、构建和部署 • 软件工程的目标 第 3 章 过程模型 • 过程模型的作用 • 传统过程模型:瀑布模型、RAD 模型、原型(开发)模型; • 面向对象过程模型:增量模型、螺旋模型、基于构件的开发、 Unified Process model; • 了解模型的特点,适用范围。 第 7 章 需求工程 • 需求工程的定义 • 需求工程的任务:启始、导出、求精、协商、规格说明、确认和管理 • 用户场景的概念 • UML 中使用用例建模:用例图/活动图/状态图/类图 第 8 章构建分析模型 • 分析建模的 3 个目标 • 分析建模的方法(结构化分析和面向对象) • 数据字典 • 决策表的运用条件 • 分析模型的元素:基于场景/面向信息流/基于类/行为 • ERD(实体+关系+基数和形态) • 基于用例图的分析类的抽象方法 • 分析模型的概念及其组成 • 构建 object-behavior model 的一般步骤 第 9 章 设计工程 • 设计的概念:抽象、体系结构、模式、模块化、信息隐蔽、功能独立、求精、重构 • 组织良好的设计类的 4 个特征:完整性和充分性、原始性、高内聚和低耦合性 • 模式和框架 • 完整设计的 4 个模型和作用:数据、体系结构、接口和构件级设计 第 10 章 体系结构设计 • 体系结构定义及重要性 • 数据设计目标 • 体系结构风格的组成要素(一组构件,一组连接器、约束和语义模型),风格分类 (以数据为中心、数据流、调用返回、面向对象、层次) • 模式:并发性、持久性、分布性
• 体系结构的复杂性(依赖关系:共享依赖、流依赖、约束依赖) 第 11 章 构件级设计建模 • 构件的定义( 面向对象和传统的观点) • 基于类的构件的基本设计原则(开关原则、替换原则、依赖倒置原则,接口分离原 则….) • 构件的内聚性:功能、分层、通信、顺序、过程、暂时和实用内聚 • 构件件的耦合:公用、控制、印记、数据、例程调用….,与内聚的区别 • 面向对象的构件级设计步骤 • 传统构件级设计的图形表示:流程图、决策表、PDL 第 12 章 实现用户界面设计 • 黄金原则 • 界面分析和设计过程: 用户、任务和环境分析,界面设计、实现、界面确认 13 章 测试策略 • 验证和确认的概念和区别 • 测试的过程和策略:单元测试、集成测试、确认测试和系统测试概念 • 集成测试的策略 • 回归测试 • 系统测试 • 调试与策略 14 章 测试手段 • 软件可测试性的定义及其特征 • 白盒测试方法和黑盒测试方法 • 基于控制结构的测试 • 基于场景的测试 16 章 Web 工程 • Web 应用工程层次 • Web 工程过程 18 章 Web 应用分析 • Web 应用分析模型:内容、交互、功能和配置 19 章 Web 应用设计 • Web 应用质量: • Web 界面设计模型:美工设计、内容设计、架构设计、导航设计、构件层设计、超 媒体设计 为什么软件不是理想失效曲线, idealized curve 极度!!p6 During the software’s life, software will undergo change. As changes are made, it is likely that errors will be introduced, causing the failure rate curve to spike as shown in figure. Before the curve can return to the original steady-state failure rate, another change causing the curve to spike again. Slowly, 必考!!!! is rate requested, level begins the minimum failure to rise---the software is deteriorating due to change. Definition of Software Engineering: p21
Software in principles engineering is order ot obtain establishment the economically and use of sound engineering software that is reliable and works efficiently on real machines.[by Fritz Bauer] Software engineering: 1. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. 2. The study of approaches as in 1. Software engineering layers: p22 figure 2.1 必考!!!!!!!!!! Tools Methods Process A quality focus The generic process framework: p24 通用过程的框架 必考!!!!!!!! communication, planning, modeling, construction, deployment. Personal Software Process (PSP): p36 极度!!!! Activities: Planning High-level design High-level design review Development Postmortem Team Software Process (TSP): p38 极度!!! Objectives: Build self-directed teams that plan and track their work, establish goals and own their processes and plans. These can be pure software teams or integrated product teams of 3 to about 20 engineers. Show managers how to coach and motivate their teams and how to help them sustain peak performance. Accelerate software process improvement by making CMM level 5 behaviors normal and expected. Provide improvement guidance to high-maturity organizations Facilitate university teaching of industrial-grade team skills.
Phase of the Unified Process Inception: customer communication & planning activities Elaboration: Construction Transition Production *Five phases do not occur in a sequence, but rather with staggered concurrency. 用例图,类图,状态图的作图!!!!!必考!! Domain Analysis 相当会考!!!!!!!! p178 Definition: of specification software common domain requirements analysis is from a the identification, analysis, and specific application domain, typically for reuse on multiple projects within that application domain. Analysis modeling approaches: 必考!!!!! p178 1. Structured analysis: considers data and the processes that transform the data as separate entities. 2. Object-oriented analysis: focuses on the definition of classes and the manner in which they collaborate with one another to effect customer requirements. Data Dictionary: 必考!!!p181 Data objects, Data attributes Relationships Cardinality and modality Flow-oriented modeling 必考 p194 Design Model 必考!!!!! FIGURE p328 Information hiding (必考!!!) p236
WHAT: Modules should be specified and designed so that information (algorithms and data) contained within a module is inaccessible to other modules that have no need for such information. WHY: Provides the greatest benefits when modifications are required during testing and later, during software maintenance. Because information hiding, inadvertent errors introduced during modification are less likely to propagate to other locations within the software. Design classes (必考!!!) p239 Types of classes: Interface classes, business classes, process classes, persistent classes, system classes. Mapping data flow into a software architecture 必考!!! p276 Transform flow 绘图方法 Transaction flow 绘图方法 What is a component? When needs a tabular design notation p317 (decision table) 必考!!! 很可能 p293~p295 In many software applications, a module may be required to evaluate a complex combination of conditions and select appropriate actions based on these conditions. White-box testing described as Definition: a test part of derive test cases. 必考!! p392 case design philosophy that uses the control structure component-level design to Testing method: Basis path testing p393 Control structure testing p400
Black-box testing 必考!!! Definition: focuses on the functional requirem Attempts to find errors in the following categ 1. incorrect or missing functions 2. interface errors 3. errors in data structures or external da 4. behavior or performance errors 5. initialization and termination errors. Object-oriented testing methods 极度!! Object-oriented testing focuses on designing appropriate sequences of operations to exercise the stats of a class. Applicability of conventional test case design methods Use-cases can provide useful input in the design of black-box and state-based tests.
分享到:
收藏