软件工程复习重点(很重要)

合集下载

大二软件工程知识点总结

大二软件工程知识点总结

大二软件工程知识点总结本文将对大二软件工程中的重点知识点进行总结和归纳,帮助读者全面理解和复习相关内容。

以下是大二软件工程的知识点概述:一、软件生命周期软件生命周期是指从软件开发的开始到结束的整个过程。

包括需求分析、设计、编码、测试、部署和维护等阶段。

每个阶段都有相应的文档和工具支持。

1.需求分析需求分析是软件开发中最重要的一步,它确定了软件系统的需求和功能。

需求分析的过程包括问题定义、需求获取、需求分析与建模等。

2.设计设计是根据需求分析阶段确定的需求来设计软件系统的整体结构和各个模块之间的关系。

常用的设计方法有结构化设计和面向对象设计。

3.编码在编码阶段,程序员会按照设计文档进行编码,将逻辑结构转化为计算机可执行的程序代码。

编码过程需要选择合适的编程语言和开发工具。

4.测试测试是确保软件系统按照需求和设计要求正常运行的重要环节。

测试包括单元测试、集成测试、系统测试和验收测试等。

常用的测试方法有黑盒测试和白盒测试。

5.部署与维护在完成开发和测试后,软件需要部署到目标环境中并进行维护。

部署包括安装、配置和运行等步骤。

维护包括Bug修复、功能增强和性能优化等。

二、软件开发方法论软件开发方法论是指用于管理和组织软件开发过程的一套准则和规范。

常见的软件开发方法论有瀑布模型、迭代模型和敏捷开发等。

1.瀑布模型瀑布模型是软件开发的经典模型,它按照线性顺序依次完成需求分析、设计、编码、测试和部署等阶段。

缺点是无法适应需求变更和快速迭代的需求。

2.迭代模型迭代模型是在瀑布模型的基础上引入迭代和循环的概念,将开发过程划分为多个迭代周期。

每个迭代周期都包含需求分析、设计、编码、测试和部署等阶段。

3.敏捷开发敏捷开发是一种以人为核心、迭代、适应变化的开发方法。

它强调团队合作、快速响应客户需求和频繁交付可用软件。

敏捷开发方法有Scrum、XP和Kanban等。

三、软件工程方法与工具软件工程方法和工具是辅助软件开发的工具和技术。

软件工程必背考点

软件工程必背考点

软件工程必背考点软件工程是以工程法为基础的一门学科,涉及到软件开发的各个方面,包括需求分析、设计、编码、测试、维护等。

在软件工程的学习和实践中,有一些重要的考点需要我们掌握和理解。

本文将介绍一些软件工程的必背考点,以帮助读者更好地复习和准备软件工程的考试。

一、软件生命周期模型软件生命周期模型是指软件开发过程中不同阶段的组织、管理和控制方法。

常见的软件生命周期模型有瀑布模型、迭代模型、螺旋模型等。

熟悉和理解不同的软件生命周期模型对于项目管理和开发具有重要的意义。

二、需求工程需求工程是软件工程的重要组成部分,其目标是明确软件系统需要满足用户和利益相关者的需求。

需求工程包括需求获取、需求分析、需求规格说明等过程,需要掌握需求工程中的各种技术和方法。

三、软件设计软件设计是将需求转化为具体的设计方案和结构的过程。

软件设计包括结构设计、模块化设计、接口设计等,需要掌握设计的原则和方法,以及常用的设计模式和设计工具。

四、软件测试软件测试是确保软件系统质量的重要手段。

软件测试包括单元测试、集成测试、系统测试、用户验收测试等,需要掌握各种测试方法、策略和工具,以及缺陷管理和跟踪的技巧。

五、软件维护软件维护是软件工程的一个重要阶段,用于确保软件系统的可靠性和稳定性。

软件维护包括纠错性维护、适应性维护、完善性维护等,需要掌握维护的方法和技巧,以及版本管理和配置管理的工具和流程。

六、软件过程改进软件过程改进是为了提高软件开发过程的质量和效率而进行的系统性改进。

软件过程改进包括CMMI模型、SPICE模型等,需要了解软件过程改进的原理和方法,以及评估和度量的指标体系。

七、软件项目管理软件项目管理是为了成功地完成软件项目而进行的计划、组织、协调和控制的过程。

软件项目管理包括项目计划、资源管理、风险管理等,需要掌握项目管理的理论和实践,以及项目管理工具和技术。

八、软件工程伦理和专业责任软件工程伦理和专业责任是软件工程师必备的素养。

软件工程重要考点复习提纲

软件工程重要考点复习提纲

CH11、软件危机概念软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题。

2、软件危机体现在哪几方面?主要表现在软件的开发和维护两方面3、软件工程概念软件工程是知道计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

4、软件工程7条基本原理(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用线代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断进取软件工程实践的必要性。

5、软件工程方法学包含的3个基本要素方法、工具和过程6、软件生命周期划分哪些阶段软件定义、软件开发和运行维护。

7、各阶段的基本任务软件定义:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。

软件开发:具体设计和实现定义的软件。

运行维护:使软件持久地满足用户的需要。

8、软件过程概念软件过程描述为了开发出客户需要的软件,什么人、什么时候、做什么事以及怎样做这些事以实现某一个特定的具体目标。

9、软件过程模型有哪些瀑布模型、快速圆形、增量模型、螺旋模型、喷泉模型10、瀑布模型有哪些特点(1)可强迫开发人员采用规范的方法;(2)严格地规定每个阶段必须提交的文档;(3)要去每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

11、在软件生产中为什么强调管理CH21、可行性研究的目的用最小的代价在尽可能短的时间内确定问题是否能够解决。

2、从那些方面进行可行性研究技术可行性、经济可行性、操作可行性、社会可行性。

3、系统流程图的作用4、数据流图的作用利用它作为交流信息的工具,作为分析和设计的工具。

软件工程导论复习重点总结很全第六版

软件工程导论复习重点总结很全第六版

第1章软件工程学概述1.1 软件危机1.1.1 软件危机旳简介软件危机(软件萧条、软件困扰): 是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。

软件危机包括下述两方面旳问题:怎样开发软件, 满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。

软件危机旳经典体现:(1)对软件开发成本和进度旳估计常常很不精确;(2)顾客对“已完毕旳”软件系统不满意旳现象常常发生;(3)软件产品旳质量往往靠不住;(4)软件常常是不可维护旳;(5)软件一般没有合适旳文档资料;(6)软件成本在计算机系统总成本中所占旳比例逐年上升;(7)软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。

1.1.2 产生软件危机旳原因(1)与软件自身旳特点有关(2)与软件开发与维护旳措施不对旳有关1.1.3 消除软件危机旳途径对计算机软件有对旳旳认识。

认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完毕旳工程项目。

应当推广使用在实践中总结出来旳开发软件旳成功技术和措施, 并继续研究探索。

应当开发和使用更好旳软件工具。

总之, 为了处理软件危机, 既要有技术措施(措施和工具), 又要有必要旳组织管理措施。

1.21.2.1 软件工程旳简介软件工程: 是指导计算机软件开发和维护旳一门工程学科。

采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它, 这就是软件工程。

(期中考)软件工程旳本质特性:软件工程关注于大型程序旳构造软件工程旳中心课题是控制复杂性软件常常变化开发软件旳效率非常重要友好地合作是开发软件旳关键软件必须有效地支持它旳顾客在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品1.2.2 软件工程旳基本原理用分阶段旳生命周期计划严格管理坚持进行阶段评审实行严格旳产品控制采用现代程序设计技术成果应能清晰地审查开发小组旳人员应当少而精承认不停改善软件工程实践旳必要性1.2.3 软件工程措施学软件工程包括技术和管理两方面旳内容。

软件工程复习要点

软件工程复习要点

软件工程复习要点软件工程是一门研究如何高效地开发、维护和管理软件的学科。

对于学习软件工程的同学来说,熟练掌握复习要点是非常重要的。

本文将为大家总结并分享软件工程的复习要点,希望能够帮助大家更好地掌握和应用软件工程知识。

一、软件开发过程软件开发过程是指从需求分析到交付软件产品的整个过程。

常用的软件开发过程模型有瀑布模型、迭代模型、敏捷模型等。

要理解和掌握软件开发过程,需要熟悉各个阶段的任务和活动,包括需求分析、设计、编码、测试、交付等环节。

1. 需求分析:确定用户需求,明确软件系统的功能和性能要求。

2. 设计:根据需求分析的结果,进行软件系统的整体设计和详细设计。

3. 编码:将设计好的软件系统转化为具体的实现代码。

4. 测试:对编码完成的软件系统进行测试,发现和纠正其中的问题。

5. 交付:经过测试合格的软件系统交付给用户使用。

二、软件工程方法与工具为了提高软件开发的效率和质量,软件工程使用了一系列方法与工具。

掌握软件工程方法与工具的使用对于软件开发人员来说是非常重要的。

1. 需求管理工具:用于帮助开发团队和用户共同管理和追踪需求,常用的有JIRA、TFS等。

2. 设计工具:用于辅助进行软件系统的设计,常用的有UML工具、Axure等。

3. 编码工具:用于提高编码效率和质量,常用的有IDE集成开发环境、代码托管平台等。

4. 测试工具:用于自动化测试和代码覆盖率分析,常用的有Junit、Selenium等。

5. 配置管理工具:用于管理和控制软件系统的配置,常用的有Git、SVN等。

三、软件质量保证软件质量保证是指通过一系列的措施和活动来确保软件产品的质量。

在软件工程中,软件质量保证是一个非常重要的环节,它直接关系到软件系统能否满足用户的需求。

1. 静态质量保证:通过代码审查、代码规范等手段来预防和发现问题。

2. 动态质量保证:通过测试等手段来发现和解决软件系统中的问题。

3. 配置管理:通过配置管理工具来确保软件系统配置的正确性和一致性。

软件工程期末复习重点

软件工程期末复习重点

1.软件危机的介绍在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.产生软件危机的原因与软件本身特点有关:软件开发与维护的方法不正确有关:3.消除软件危机的途径4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。

5.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。

这个时期的工作通常又称为系统分析,由系统分析员负责完成。

软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。

6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。

其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。

7.维护时期的主要任务是使软件持久地满足用户的需要。

8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。

9.常用软件模型区别原理:(1)瀑布模型:按照传统的瀑布模型开发软件,有下述的几个特点。

a)阶段间具有顺序性和依赖性:两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。

①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶b) 推迟实现的观点瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。

c)质量保证的观点:软件工程的基本目标是优质、高产。

为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。

每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。

每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。

软件工程主要知识点

软件工程主要知识点

软件工程主要知识点软件工程是一门涵盖多个领域的学科,它旨在研究软件的开发、维护和管理过程。

在软件工程的学习中,有许多重要的知识点需要了解和掌握。

以下是软件工程的主要知识点:1.需求工程:需求工程是软件开发的关键环节,它涉及到收集、分析和管理用户需求的过程。

了解如何正确地定义和验证需求是非常重要的。

2.软件架构:软件架构是软件系统整体结构和组织的蓝图。

学习软件架构的目的是设计出可扩展、可维护的软件系统。

3.软件开发方法:软件开发方法是指一种系统化的方法,用于规划、设计、实施和测试软件系统。

了解常用的软件开发方法,如瀑布模型、敏捷开发和迭代开发等,可以帮助我们更好地管理软件开发过程。

4.软件测试:软件测试是为了验证软件系统的正确性和可靠性而进行的一系列活动。

学会进行有效的软件测试可以帮助我们尽早发现和修复潜在的问题。

5.软件工程项目管理:软件工程项目管理是指管理和控制软件开发过程,以确保项目按时、按质量和按预算完成。

学习项目管理的知识可以帮助我们合理地安排资源、制定计划和解决问题。

6.软件质量保证:软件质量保证是指确保软件系统满足用户需求和质量标准的一系列活动。

学习如何进行软件质量评估和测试可以帮助我们提高软件的质量。

7.可维护性和重构:可维护性是软件系统易于改变和维护的程度。

学习如何进行重构可以帮助我们改进现有的软件系统,使其更加易于理解和维护。

8.软件工程经济学:软件工程经济学是研究软件开发过程中经济方面问题的学科。

了解如何进行成本估算和投资评估可以帮助我们做出明智的决策。

9.软件安全性:软件安全性是指软件系统免受恶意行为和非法访问的能力。

学习如何设计和实施安全措施可以帮助我们保护软件系统的安全。

10.软件工程伦理和法律:软件工程伦理和法律是研究软件工程中伦理和法律问题的学科。

了解软件开发过程中的道德和法律规定可以帮助我们遵守相关的标准和法律规定。

除了以上列举的知识点,软件工程还涉及到很多其他的领域,如人机交互、软件配置管理、软件工程教育等。

02333软件工程(复习重点)-42页

02333软件工程(复习重点)-42页

《软件工程》复习重点第一章绪论第一节软件工程概念的提出与发展1.软件危机(1)速度:软件的发展水平远远滞后于硬件的发展水平,生产率低下,软件制造仍然是一种人工集约生产方式(2)质量:软件的质量低下,不能满足用户的需求、适应性差(3)成本:软件开发成本居高不下软件开发的速度、软件制品的质量、软件开发成本是软件工程的三个核心问题。

2.软件工程的发展近几年,软件复用技术:构件技术、平台技术、需求工程技术、领域分析技术、应用集成技术等。

第二节软件开发的本质1.软件软件=程序+文档2.软件开发的本质:“映射”,即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

3.系统建模运用所掌握的知识,通过抽象,给出系统的一个结构。

4.模型模型是一个抽象。

模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述。

5.系统模型的类型(1)概念模型:描述软件是什么(2)软件模型:实现概念模型的软件解决方案。

包括设计模型、实现模型和部署模型。

第二章需求获取第一节需求与需求获取1.需求的定义一个需求是有关一个“要予构造”的陈述,描述了待开发产品/系统功能能力、性能参数或其它性质。

2.需求的基本性质(1)必要的(2)无歧义的(3)可测的(4)可跟踪的(5)可测量的3.需求的分类★(1)功能需求,是整个需求的主体。

(2)非功能需求:性能需求、外部接口需求、设计约束和质量属性需求。

能够区分哪些是功能需求,哪些是性能需求。

4.接口需求的类别(1)用户接口(2)硬件接口(3)软件接口(4)通信接口(5)内存约束(6)运行(7)地点需求5.设计约束需求(1)法规政策(2)硬件限制(3)与其它应用的接口(4)并发操作(5)审计能力(6)控制功能(7)高级语言要求(8)握手协议(9)应用的关键程度(10)安全和保密6.质量属性(1)可靠性(2)存活性(3)可维护性(4)用户友好性7.需求发现的技术(1)自悟(2)交谈(3)观察(4)小组会(5)提炼第二节需求规约(SRS)1.需求规约的定义★是一个软件/产品/系统所有需求陈述的正式文档,它表达了一个软件/产品/系统的概念模型。

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

软件工程复习:第一章:软件危机软件工程的目标、内容、原则、面临的问题请举例说明软件危机的一些表现,以及按照软件工程方法开发软件的意义所谓软件危机是指在计算机软件的开发和维护过程所遇到的一系列严重问题。

软件危机主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的现有软件。

软件危机的表现:1.对于软件开发的成本和进度的估计很不准确。

2.开发的软件产品不能满足完全满足用户需求。

3.开发的软件可靠性差。

4.软件通常没有适当的文档。

5.软件的可维护性差。

6.软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

软件工程定义:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

软件工程由方法、工具和过程三部分组成。

软件工程内容:1.结构化理论与方法。

2.模块技术与数据抽象。

3.软件测试与程序正确性证明。

4.软件分析与设计方法、工具与环境。

5.软件工程管理与质量评价。

软件工程的目标是在给定成本、进度的前提下,开发具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

软件工程研究的主要内容是指软件开发技术和软件开发管理两方面。

软件工程的原则:抽象、信息隐藏、模块化、局部化、一致性、完整性和可验证性。

软件工程面临的问题:软件费用、软件可靠性、软件可维护性、软件生产率、软件重用。

按照软件工程方法开发软件的意义:软件工程方法是完成软件工程项目的技术手段。

它支持项目计划和估算、系统和软件分析、软件设计、编码、测试和维护。

软件工程使用的软件工具是人类在开发软件的活动中智力和体力的扩展和延伸,它自动或半自动地支持软件的开发和管理,支持各种软件文档的生成。

软件工程贯穿于软件开发的各各环节。

管理者在软件工程中,要对软件开发的质量、进度、成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成本估算、质量保证和配置管理等。

第二章:软件生命周期瀑布模型、原型模型、增量模型结构化开发方法,面向对象的开发方法:题目示例:开发一个制衣厂的生产管理系统,你会选择什么样的模型?为什么?软件生命周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

划分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试和维护8个阶段。

1.瀑布模型:以文档作为驱动,适合于需求很明确的软件项目开发的模型。

严格1软件生命周期各个阶段进行开发。

在开发前均可完整、准确、一致和无二义性地定义其目标、功能和性能等,如编译系统、数据库管理系统和操作系统。

2.原型模型:利用原型法技术快速实现系统的初步模型,供开发人员用户进行交流,采用逐步求精方法使原型逐步完善,避免在瀑布模型冗长的开发过程看不到产品锥形的现象。

适合不能预先确切定义需求的软件开发,项目组成员不能很好协同配合、交流或通讯上存在问题的情况,要有快速建立系统模型的软件工具和环境。

3.增量模型:将整个软件一部分一部分地开发,在需求难以完全明确的情况下,快速分析并构造一个小的原型系统,满足用户的某些要求后,使用户在使用过程中受其启发,逐步确定各种需求。

增量构造模型、演化提交模型、快速原型模型。

结构化开发方法:总的指导思想是自顶向下、逐步求精。

它是一种面向数据流的开发方法。

它的基本原则是功能的分解和抽象。

它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题。

简单实用,应用较广,相应的支持工具较多,技术成熟。

但它不适应于规模大以及特别复杂的项目,难以解决软件重用问题,难以适应需求变化的问题,难以彻底解决维护问题。

面向对象的开发方法:是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。

包括面向对象分析、面向对象设计和面向对象实现。

第三章:可行性研究的主要任务和步骤:任务:技术可行性、经济可行性、社会可行性、操作可行性。

步骤:系统定义、对于现行系统进行分析研究、导出新系统的逻辑模型、设计方案、推荐可行的方案、编写可行性研究报告。

第四章:需求分析的任务和方法需求分析阶段使用的工具。

需求分析难点:数据流图数据字典。

请写出学生证的数据流条目。

给出一段文字说明,画出流程图。

需求分析是指开发人员要进行细致的调查分析,准确理解用户的需求。

需求分析的任务:问题明确定义、导出软件的逻辑模型、编写文档。

需求分析的方法:功能分析方法、结构化分析方法、信息建模方法、面向对象的分析。

需求分析的工具:1.数据流图和数据词典(结果化分析方法)2.E-R图(面向对象的分析)3.EAR(数据库系统的结构)4.判定表、判定树、结构化语言需求分析的难点:需求易变性、问题的复杂性、交流障碍、不完备性和不一致性。

数据流图(DFD)::描述系统的逻辑模型。

箭头、圆、方框、双杠。

P71数据字典(DD):定义数据流图中的各个成分的具体含义。

符号=被定义为+与m..n界域(两个点)学生证=姓名+学号+学院+卡号学号=“0000000001”..“9999999999”卡号=“000001”..“999999”学院=[“计算机学院”|“建筑学院”|“。

”|…]流程图:DFD第五章:耦合、内聚变换分析和事务分析设计。

要求能根据流程图画出模块结构图。

模块:将需求分析的结构映射为模块,是软件结构设计的基础。

模块化:解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。

模块的耦合:表示软件结构内不同模块之间相互依赖的紧密程度,是度量软件模块结构质量好坏的度量,是对模块独立性的之间衡量指标。

数据耦合、控制耦合、公共环境耦合、内容耦合。

模块的内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。

高内聚:功能内聚、信息内聚中内聚:通信内聚、过程内聚低内聚:时间内聚、逻辑内聚、偶然内聚变换分析设计:数据流图到程序结构图的转换。

1.确定数据流图中的变换中心、逻辑输入和逻辑输出2.设计软件结构的顶层和第一层3.设计中、下层模块4.设计的优化事务分析设计:事务数据流图到程序结构的变换。

1.确定数据流图中的事务中心和加工路径2.设计软件结构的顶层和第一层3.进行事务结构中、下层模块的设计、优化等工作根据数据流图画出模块结构图:输入,变换中心(主模块)、输出了解对象、类、属性、服务、继承、多态性、主动对象的概念。

要求:能举例说明这些概念。

对象:是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

一个对象由一组属性和一组服务构成。

属性:用来描述对象静态特征的一个数据项。

服务:用来描述对象动态特征的一个操作序列。

特例:1.有属性,没有服务,如信息系统中的人员信息、物质信息2.有服务,没有属性,如操作系统中的屏幕中断:disable()类:类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的对象描述,其内部包括属性和服务两个主要部分。

一个对象又称做类的一个实例。

属性:是一个类中对象所具有的数据值。

一个属性应是纯数据值,而不是一个对象。

名字、年龄和性别是人对象的属性。

服务:服务是一种功能或一种转换,它应用于类中对象使用。

一个类中所有对象共享相同的服务。

打开、关闭、隐藏和重新显示是在窗口类上的服务。

封装:是把对象的属性、服务结合成为一个独立的系统单位,并尽可能隐蔽对象的内部细节。

继承:特殊类的对象拥有一般类的全部属性和服务,就是称做特殊类对一般类的继承。

如class E-DATE:public DA TE单一继承把类组织成为树,多重继承把类组织成为有向无循环图。

消息:是向对象发出的服务请求,包含:提供服务的对象标识、服务标识、输入信息和回答信息。

多态性:是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

这使得一个属性或服务在一般类及各个特殊类中具有不同的语义。

重载、动态绑定、类属。

主动对象:主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行。

一般-特殊结构:描述对象间继承关系整体-部分结构:描述对象间组成关系实例连接:描述对象间静态联系消息连接:描述对象间动态联系第八章:了解建立模型在软件开发中的意义或作用。

软件开发需要模型解决以下问题:1.复杂的系统不能直接了解2.模型是复杂系统早期抽象的重用结构模型的目的:1.了解问题2.介入的工作者相互沟通3.找出错误4.规划和设计5.产生程序代码了解面向对象的分析的主要工作步骤。

有哪些方法可以帮助我们发现对象?发现对象:1.正确地运用抽象原则2.策略与启发:考虑问题域、考虑系统边界、考虑系统责任3.审查和筛选:舍弃无用的对象、对象的精简、推迟到OOD考虑的对象4.识别主动对象面向对象分析的工作步骤 1.发现对象2.对象标识3.定义属性4.定义服务第十章:能举例说明整体-部分结构、一般特殊结构、实例连接、消息连接关系,以及如何在面向对象的语言中实现这些关系。

能从工作步骤、目的、最后的要建立的模型、工作中的难点等方面对面向对象的需求分析和面向结构的需求分析做一个比较。

整体-部分结构:如果对象a是对象b的一个组成部分,则b为a的整体对象,a为b的部分对象,并把b和a之间的关系称做整体-部分关系。

实现:1.把整体对象之间的这个属性变量定义成指向部分对象的指针,或定义成不分对象的对象标识,运行时动态创建部分对象,并使整体对象中的指针或对象标识指向它。

2.用部分对象的类作为数据类型,静态地声明整体对象中这个代表部分对象的属性变量。

一般-特殊结构:如果类A具有类B的全部属性和全部服务,而且具有自己特有的某些属性或服务,则A叫做B的特殊类,B叫做A的一般类。

实现:OOA中通过一种继承机制实现这一功能,只需指明一个类是另一个类的特殊类,继承机制将保证特殊类自动地拥有一般类的全部属性与服务。

实例连接:又称为链,表达对象之间的静态关系。

所谓静态关系是指最终可通过对象属性来表示的一个对象对另一个对象的依赖关系。

实现:一般可用对象指针来实现。

即在被连接的两个类中选择其中一个,在它的对象中设立一个指针类型的属性,用于指向另一个类中与它有连接关系的对象实例。

消息连接:描述对象之间的动态联系,即若一个对象在执行自己的服务时,需要请求另一个对象为它完成某个服务。

消息连接是有向的,从消息发送者指向消息接收者。

第十三章根据书中的人机界面设计准则,提出对某一个具体问题界面设计说明。

比如教学管理系统中的学生成绩录入。

第十六章:要求能对MCCALL的质量模型做一个简单的介绍。

如果你是一个经理,负责提高一个较大型的软件公司的软件开发质量(考试的时候具体提出有哪些问题,不如总是不能做好需求,或者不能按照进度完成等),可以做哪些工作?McCall的质量模型认为软件质量由12个特性组成,分别面向软件产品的运行、修正、转移。

相关文档
最新文档