软件工程概论复习
有加粗的都是很重要的课后题中的对应题目。
文章目录
-
软件工程概论复习 -
- Chapter1 Introduction
-
- 1.1 什么是软件工程/li>
-
- 1、有关软件(重点)
- 2、有关软件工程(重点)
- 3、什么是好的软件工程(重点)
- 4、谁做软件工程(重点)
- 5、一个系统方法
-
- (1) what is a system/li>
- (2)The Elements of a System
- 6、一个工程方法
- 7、开发组的成员
- Chapter 2 Modeling the Process and Life Cycle
-
- 1、The meaning of process(重点)
-
- (1)What is a process, a life cycle, and a software life cycle/li>
- (2)Understanding the concept of a process, prescription and description
- 2、software process models(重点)
-
- (1)瀑布模型:
- (2)V模型:
- (3)螺旋式模型:
- (4)原型设计模型:
- (5)增量模型:
-
- 简答题:Briefly describe the advantage and disadvantage of the WatterFall model
- Chapter 3 Planning and Managing the Project
-
- 1、Tracking progress
- (1)What is a project schedule, an activity, and a milestone
-
- project schedule
- activities
- milestone
- (2)Work breakdown and activity graphs工作分解和活动图表
- ************************必考大题************************
-
-
- 有关事件的关键路径与松弛时间
- 有关活动的关键路径和松弛时间
- 特别注意:最早开始时间和最晚开始时间都要+1处理!!!!!!!!
- 2、Project personnel 项目人员
-
- (1)Staff roles and characteristics
-
- lines of communication
- (2)Work styles
- (3)Project organization
- 3、 Effort estimation
-
- (1)Can not produce accurate estimates
- (2)Effort estimation techniques
- 4、Risk management activities
-
- (1)What is a risk/li>
- (2)Steps in risk management
- (3)How to reduce risk/li>
- 大题
-
- 1、Give some diliverables:列出一些可交付物
- 2、Briefly describe the characteristic of software development team’s individual:描述软件开发团队个体的特征
-
- Chapter 4 Capture the Requirements
-
- 1、What is a requirement/li>
- 2、Requirements elicitation
- 3、Types of requirement(重点)
- 4、resolving conflicts——priority
- 5、types of requirements documents需求说明书的类型
- 6、Modeling notations建模符 (重点)
-
- (1)Entity-relationship diagrams(ERD)(重点)
- (2)Event traces
- (3)State machines
- (4)Data-flow diagrams (DFD)(重点)
- (5)Functions and relations
- 7、Prototyping requirements
- 大题
-
- 1、Briefly describe the roles of the seven groups of stakeholders.简要描述七组利益相关者的角色
- 2、 Briefly describe the function of the four types of the requirement.
- 3、Briefly describe the functions of three core construct of ERD.
- 4、Briefly describe the functions of the two approaches of prototyping.
- Chapter 5 Designing System
-
- 1、What is a design/li>
- 2、Decomposition and modularity分解和模块化
- 3、Architectural styles and strategies架构风格和策略
-
- (1)Three design levels: architecture, code design, and executable design
- (2)Architectural styles
-
- ? pipes and filers(重点)
- ? Publish-subscribe(重点)
- Client/Server
- ? Repositories 存储库架构
- ? peer-to-peer
- ? layering
- 4、Issues in design creation
- Chapter 6 Design the Modules
-
- 1、Design Principles 设计原则
-
- 软件架构的4+1视图模型
- (1) Modularity
- (2)What 重点)
- (3)Component independence (重点)【模块独立性】
-
- ?耦合类型(重点)
- ? Content coupling 内容耦合
- ? Common coupling 公共耦合
- ? Control coupling 控制耦合
- ? Stamp coupling 特征/标记耦合
- ? Data coupling 数据耦合
- ? 内聚类型(重点)
- ? Coincidental cohesion
- ? Logical cohesion
- ? Temporal cohesion
- ? Procedural cohesion
- ? Communication cohesion
- ? sequencial cohesion
- ? Functional cohesion
- informational cohesion
- 大题
- Chapter 7 Writing the programs
-
- 1、Programming Standards and Procedures
- 2、Programming Guidelines
- 3、Documentation (重点)
- 大题
- Chapter 8 Testing the Program
-
- 1、Software faults and failures
-
- (1)Types of faults
-
- Algorithmic fault
- Computation and precision fault 计算和精度错误
- Documentation fault
- Capacity or boundary faults
- Timing or coordination faults
- Performance faults
- Standard and procedure faults
- 2、Testing issues
-
- (1)Test opinions
- (2)Test organization ——testing steps
-
- Module testing,component testing, or unit testing
- Integration testing 集成测试
- System testing
-
- function test
- performance test
- acceptance test
- installation test
- (3) Testing techniques
- 3、Unit testing (重点)
-
- (1)Examining the code (代码审查)
- (2)Success of the code reviews
- (3)Test thoroughness
- ****************************************************************大题必考考点************************************************************************
- 4、Integration testing(重点)
-
- (1)Bottom-up integration
- (2)Top-down integration
- (3) Big-bang integration
- (4)Sandwich integration
- (5)Comparison of the strategies
- 大题
- Chapter 9 Testing the system
-
- 1、Principles of system testing(重点)
-
- (1)Sources of software faults
- (2)System testing process
- (3)Configuration management
- (4) Test team
- 2、Function Test
- 3、Performance testing
-
- (1)Purpose and roles
- (2)Types of performance testing
-
- 压力测试 stress test
- 容量测试 Volumne test
- 配置测试 configuration tes
- 兼容性测试 compatibility test
- 回归测试 regression test
- 4、Reliability, availability, and maintainability (重点)
-
- (1)Definition
-
- reliability
- availability
- maintainability
- (2)Measurement
- 5、Acceptance testing
-
- (1)Purpose and roles
- (2)Types of acceptance tests
- 6、Installation testing
- 7、Test documentation
- Chapter 11 Maintaining the System
-
- 1、What is maintaining
- 2、Four types of maintenance activities (重点)
-
- Corrective maintenance 改正性维护
- Adaptive maintenance 适应性维护
- Perfective maintenance 完善性维护
- Preventive maintenance 预防性维护
- 大题
Chapter1 Introduction
1.1 什么是软件工程/h3>
1、有关软件(重点)
软件 = 程序 + 数据 + 文档(去年考题)
Software is a set of program(instruction) , data(structure) and documents
-
解决问题:
方法 工具 过程 范例
? method tool procedure paradigm
2、有关软件工程(重点)
-
Software engineering means the application of a systematic , displined and measureable approach to the development , operation and maintenance of software. That is the application of engineering to software.
软件工程:使用 系统的,有规律的,可测量的方法去开发,运行,维护软件。
-
Any Problem-solving technique must have two parts, analyzing to problem to determine its nature, and then synthesizing a solution
分析问题 综合解决方法
3、什么是好的软件工程(重点)
-
The McCall’s quality model concerns the quality of the software product ,
-
CMM concerns the quality of the process of development software product
-
and ROI concerns the quality of the context of the bussiness environment
4、谁做软件工程(重点)
customer + developer + user
- The customer is the company, organization ,or a person who is paying for the software system to be developed.
- The developer the company, organization ,or a person who is building the software system.
- The user is the person or people who will actually use the system.
-
优点/特点:
测试与需求相对:
- 采用参与测试来验证程序设计
- 采用集成测试来验证体系结构
- 采用验收测试来确认需求。
验证过程中发现问题即可在执行后续测试步骤前重新执行左边步骤对软件修正。
(3)螺旋式模型:
The spiral model combine the development activities with risk management to minimize and control the risk control。
瀑布模型与原型模型的组合,既可以周期性地验证客户的需求,又可以分阶段进行开发工作,能保证软件在遇到较大风险时停止,大大增强了软件的风险防控能力。但是过程很复杂,需要开发人员有丰富的风险评估能力和专业知识,适合大型项目的开发。
-
优点:
将开发活动与风险管理相结合以最小化控制风险
较好地满足用户的需求
-
缺点:
开发成本高,对开发人员要求高
(4)原型设计模型:
在需求分析阶段对软件进行初步的分析和定义,快速开发出简单的软件原型并向用户展示,用户对软件原型进行测评后进一步提出进要求,开发人员的原型修改到用户满意为止。因此原型模型的开发更能符合需求,适合市场导向(market-driven)的产品。
A prototyping model is a partially developed product that enable customers and developers。 To examine some aspect of the proposed system and decide if it is suitable or appropriate for the final product.
-
优点:
很好地满足客户的真实需求
原型系统已经通过与用户进行交互而得到验证,据此产生的规格文档能正确描述用户的需求
软件产品的开发基本是线行进行
建造出原型系统后,开发人员可以加速软件开发过程,节约软件开发成本
(5)增量模型:
增量:将系统功能划分为诸多子系统,先开发具有一个小功能的子系统,之后不断在子系统上增加新的功能来逐渐满足所有需求
迭代:第一次提交的产品就是一个完整的系统,之后在该系统的基础上不断修改,不断开发出新的版本,但是每个版本都是完整可运行的版本。
-
优点:
逐步增加产品功能使用户有充足的时间学习和适应新产品
一部分一部分的开发,能在较短时间内就向用户提供一个有用功能的产品
项目的风险较低,能较好满足客户需求
简答题:Briefly describe the advantage and disadvantage of the WatterFall model
优点:
- 模型简单,用户和开发者容易理解
- 为每一位开发者精细划分了不同职能
- 说明了每一个重大阶段完成的里程碑或可交付产品
- 强迫开发者开发使用规范的方法
缺点:
- 严格按照书面的规格说明,最后的产品可能和用户的要求不符合
- 把开发视作一个制造过程而不是一个创造过程
- 可能需要很长时间才能得到产品
Chapter 3 Planning and Managing the Project
1、Tracking progress
(1)What is a project schedule, an activity, and a milestone
-
project schedule
A project schedule describes the software development cycle for a particular project by enumerating the phases or stages of the project and breaking each into discrete tasks or activities to be done.
项目进度表通过列举项目的阶段,并将每个阶段分解成独立的待完成的任务或活动,来描述一个特定项目的软件开发周期。
The Schedule is a timeline that shows when activities will begin and end, and When the related development products will be ready.
The Deliverables , that is the item that the customer expects to see during project development.
交付物,即客户希望在项目开发期间看到的项目。
-
activities
An activity is a part of the project that takes place over a period of time, whereas a milestone is the completion of an activity- a particular point of time
-
milestone
a milestone is the completion of an activity- a particular point of time
(2)Work breakdown and activity graphs工作分解和活动图表
The Gantt Graph depicts the project as a set of discrete pieces of work.
甘特图将项目描述为一组离散的工作片段。
The real time or actual time for an activity is the estimated amount of time required for the activity to be completed. The avaliable time is the amount of time available in the schedule for the activity’s completion. slack time or float time for an activity is the difference between the avaliable time and real time for that activity
The critical path is a path that the slack time at every node is zero.
GANTT CHART is used to depict the projects’ CMP.
必考大题
-
Estimating completion
-
CPM (Critical Path Method)
-
slack time for an activities

求关键路径:
求关键路径只需要找到最早开始时间和最迟发生时间相等的事件即可。
有关事件的关键路径与松弛时间
- 最早开始时间:【从前往后算】,事件vi的最早开始时间 = 从源点 v1 到顶点 vi的最长路径长度
- 最迟发生时间:【从后向前算】,事件vi的最迟发生时间 = earliest(n) – (从定点vi到vn的最长路径)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!