软件工程重点整理
软件工程基础知识点整理版

软件工程基础知识点整理版1.软件生命周期:软件工程将开发和维护软件的过程划分为不同的阶段,包括需求分析、设计、编码、测试、部署和维护。
这些阶段构成了软件生命周期。
2.软件需求:软件需求工程是对软件需求进行分析、规划和定义的过程。
它包括对用户需求的收集、分析和确认,以及对系统功能和性能的详细规范。
3.软件设计:软件设计是定义软件的结构和组成部分的过程。
它包括对软件系统的整体架构和各个模块的设计。
4.软件编码:软件编码是将设计好的软件系统转化为具体的程序代码的过程。
编码过程需要使用编程语言,并遵循编码规范和最佳实践。
5.软件测试:软件测试是验证软件是否满足需求规格的过程。
它包括对软件的功能、性能和安全性进行测试,并发现和修复软件中的错误。
6.软件配置管理:软件配置管理是对软件开发过程中各个组成部分的控制和跟踪。
它包括版本控制、配置项管理和变更控制等活动。
7.软件质量保证:软件质量保证是确保软件达到高质量标准的一系列过程和活动。
它包括质量计划、质量评审、质量度量和缺陷管理等。
8.软件项目管理:软件项目管理是规划、组织和控制软件开发和维护活动的过程。
它包括项目计划、进度管理、团队管理和风险管理等。
9.软件工具和环境:软件工程使用各种工具和环境来辅助软件开发和维护。
这些工具包括集成开发环境、版本控制工具、测试工具和项目管理工具等。
10.软件工程伦理:软件工程伦理是软件工程师在工作中需要遵循的道德准则和原则。
它包括保护用户隐私、遵守知识产权法律和保持专业水平等方面。
以上是软件工程的一些基础知识点,但软件工程领域非常广泛,还有很多其他的知识点值得深入学习和研究。
尽管有一些基础知识点可以帮助我们理解和实践软件工程的基本原理和方法,但要成为一名优秀的软件工程师,还需要不断学习和提升自己的技能和知识。
软件工程重点总结(5篇)

软件工程重点总结(5篇)第一篇:软件工程重点总结软件的定义:软件是计算机系统中与硬件相互依存的另一部分,软件包括程序、数据及其相关文档的完整集合。
在结构化程序设计时代,程序的最小单位是向对象程序设计时代,程序的最小单位是类,在类中封装了相关的数据及指令代码。
软件的特性:形态特性、智能特性、开发特特性、维护特性、废弃特性、应用特性。
软件的分类:系统软件、应用软件、支撑软软件危机的表现:软件开发周期长、成本高、软件危机发生的原因:(1)缺乏软件开发的工作的计划很难制定。
(2)软件人员与用户的交流存在障碍。
(3)软件开发过程不规范,缺少方法论和规范的指导,开发人员各自为战,缺少整体的规划和配合,不重视文字资料工作,软件难以维护。
(4)随着软件规模的增大,其复杂性往往会呈指数级升高。
(5)缺少有效的软件测评手段,提高用户的软件质量差,在运行中暴露出大量的问题,轻者影响系统的正常使用,重者发生事故,甚至造成生命财产的重大损失。
首次提出“软件工程”的概念的时间是1968年。
按工程化的原则和方法组织软件开发工作是软件工程的定义:软件工程是指导软件开发和维护的工程性学科,它以计算机科学理论和其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以较少的代价获得高质量的软件并维护它。
软件工程的目标是运用先进的软件开发技术衡量软件的质量的六个特性:功能性、可靠软件生存期的三个时期:软件定义、软件开定义时期的主要任务是解决“做什么”的问地满足用户的需要。
开发过程中的典型文档包括:软件需求规格计说明书、用户手册。
各个阶段所要完成的基本任务:问题定义与可行性研究、需求分析、软件设计、程序编码和单元测试、集成测试和系统测试、软件运行和维护。
典型的软件生存期模型包括瀑布模型、原型模型、增量模型、螺旋模型等(喷泉模型)。
瀑布模型的特点:1)阶段间具有顺序性和依赖性。
软件工程知识点总结

软件工程知识点总结软件工程知识点总结1.软件工程概述1.1 软件工程定义1.2 软件工程的重要性1.3 软件生命周期2.需求分析与规格说明2.1 需求分析过程2.2 需求获取方法2.3 需求规格说明的要素2.4 需求跟踪与变更管理3.软件设计3.1 软件设计原则3.2 结构化设计方法3.3 面向对象设计方法3.4 数据库设计3.5 用户界面设计4.软件开发4.1 编码规范4.2 编程语言选择4.3 软件构建工具4.4 软件测试4.5 版本控制5.软件项目管理5.1 项目计划与进度管理 5.2 软件开发过程模型 5.3 团队协作与沟通5.4 风险管理6.质量保证与软件维护6.1 质量保证方法6.2 软件维护类型6.3 软件维护活动6.4 软件退役与替换附件:________本文档涉及的附件(请附上相关文档、图表等)法律名词及注释:________1.软件工程:________指将系统化的、规范化的、可量化的方法应用于软件的开发、运行和维护的工程学科。
2.需求分析:________确定用户对软件系统需要的功能、性能和约束等方面的要求,并以此为基础进行系统的分析和设计。
3.软件设计:________根据需求分析的结果,制定软件系统的总体结构和各组成部分的详细设计方案。
4.软件开发:________根据软件设计的方案,进行编码和调试,最终可执行的软件系统。
5.软件项目管理:________对整个软件项目进行计划、协调、控制和有效地管理,确保项目顺利完成。
6.质量保证:________通过不同的方法和技术,提高软件产品的质量,确保其满足用户的需求和要求。
7.软件维护:________对已投入使用的软件进行修复性、适应性、完善性和预防性等各方面的修改和改进。
软件工程知识点汇总

软件工程知识点汇总1. 软件工程简介软件工程是运用系统化、规范化和可管理的方法进行软件开发、运行和维护的学科。
它涵盖了软件生命周期的各个阶段,包括需求分析、设计、编码、测试、发布和维护等。
2. 软件工程流程模型常见的软件工程流程模型包括瀑布模型、迭代模型、增量模型、螺旋模型等。
不同的模型适用于不同的项目需求和开发环境,每个模型都有其优缺点。
3. 软件需求工程软件需求工程是确定软件系统应该如何工作的过程。
它包括需求获取、需求分析、需求规格和需求验证等活动。
良好的需求工程能够确保软件系统满足客户的需求和预期。
4. 软件设计软件设计是将软件需求转化为可执行的程序设计的过程。
它包括系统架构设计、模块设计、接口设计和数据库设计等活动。
良好的软件设计能够提高软件的可维护性和可扩展性。
5. 软件开发软件开发是按照软件设计规范进行编码和测试的过程。
开发人员应该具备良好的编程技能和测试能力,并遵循编码规范和测试流程。
6. 软件测试软件测试是为了发现软件中的错误和缺陷,保证软件的质量和可靠性。
测试方法包括功能测试、性能测试、压力测试和安全测试等。
高质量的测试能够提高软件的稳定性和用户满意度。
7. 软件配置管理软件配置管理是对软件开发过程中所的各类工作产品进行控制、记录、审计和追踪的过程。
配置管理包括版本管理、变更管理、发布管理和文档管理等活动。
8. 软件项目管理软件项目管理是对软件开发项目进行规划、组织、指导和控制的过程。
它包括项目需求分析、项目计划制定、项目资源分配和进度控制等活动。
有效的项目管理能够提高软件开发效率和项目成功率。
9. 软件质量管理软件质量管理是在软件开发过程中对质量进行全面管理的过程。
它包括质量计划、质量控制和质量保证等活动。
良好的质量管理能够提高软件的可靠性和用户满意度。
10. 软件维护与迭代软件维护是在软件发布后对其进行修复bug、优化性能和添加新功能的过程。
软件迭代是对软件系统进行增量式的开发和发布,不断提高软件质量和功能。
软件工程师重点知识点

软件工程师重点知识点软件工程师是一个非常重要且具有挑战性的职业,他们负责开发和维护各种软件应用程序。
为了成为一名合格的软件工程师,掌握一些重要的知识点是必不可少的。
本文将介绍一些软件工程师应关注和掌握的重要知识点。
一、编程语言编程语言是软件工程师的基础工具。
常见的编程语言包括C/C++、Java、Python等。
掌握至少一种主流的编程语言是软件工程师的基本要求。
此外,了解不同编程语言的特性和适用场景也是必要的。
例如,C/C++适用于系统开发,Java适用于企业级应用开发,Python适用于科学计算和数据分析。
二、数据结构与算法数据结构和算法是软件工程师需要具备的核心知识。
熟悉常见的数据结构,如数组、链表、栈、队列、树等,能够选择合适的数据结构来解决问题。
同时,掌握常见的算法,如排序算法、查找算法、图算法等,能够高效地解决各种实际问题。
三、操作系统软件工程师需要了解操作系统的基本原理和功能。
掌握操作系统的相关知识,能够理解程序与操作系统之间的交互,优化程序的性能和资源利用。
熟悉常见的操作系统,如Windows、Linux,以及相应的命令行工具和脚本语言,是软件工程师必备的技能。
四、数据库数据库是软件应用的重要组成部分。
软件工程师需要了解数据库的基本概念和原理,能够设计和优化数据库结构,并能够使用SQL语言进行数据查询和操作。
熟悉常见的数据库管理系统,如MySQL、Oracle、SQL Server等,能够根据需求选择合适的数据库解决方案。
五、网络和网络安全软件工程师需要了解网络的基本知识,包括网络协议、网络拓扑结构、网络编程等。
同时,网络安全也是软件工程师需要关注的重要领域。
了解常见的网络攻击方式和防御措施,能够编写安全的网络应用程序,保护用户数据的安全。
六、软件开发流程软件开发流程是软件工程师在开发和维护软件应用时需要遵循的一套规范和方法。
常见的软件开发流程包括瀑布模型、迭代模型、敏捷开发等。
软件工程师需要了解各种开发流程的特点和适用场景,能够根据项目需求选择合适的开发方法。
软件工程重点

软件工程重点软件工程重点一、简介软件工程(Software Engineering)是指应用系统化、规范化、量化的方法和工具,对软件的开发、运行和维护等环节进行有效管理和组织的一门学科。
在当今信息化社会中,软件工程起到了至关重要的作用,为各个行业和领域提供了高效、可靠的软件解决方案。
二、软件工程的重要性1. 提高生产效率:软件工程通过规范化的软件开发流程和工具,能够提高软件开发的效率,减少开发周期,从而提高生产效率。
2. 提高软件质量:软件工程强调系统化、规范化的方法和过程,能够帮助开发团队保证软件质量,减少软件缺陷和问题的出现。
3. 降低开发成本:软件工程能够通过规范化的开发流程和工具,提高开发效率,减少开发中出现的问题和调试时间,从而降低开发成本。
4. 方便维护和升级:软件工程注重软件的可维护性,使得软件的维护和升级变得更加方便和高效。
三、软件工程的核心内容1. 软件需求工程:软件需求工程是软件工程的第一步,它主要通过需求调研、需求分析、需求规格化等方法,明确软件开发的目标和要求。
2. 软件设计与架构:软件设计与架构包括系统设计、结构设计、接口设计等内容,旨在确保软件的高内聚、低耦合,满足软件的功能、性能和可维护性要求。
3. 软件测试与质量保证:软件测试是保证软件质量的重要手段,它通过设计测试用例、执行测试、进行缺陷管理等方法,确保软件功能的正确性和稳定性。
4. 软件项目管理:软件项目管理是软件工程中的重要环节,它包括项目规划、项目组织、项目沟通、项目风险管理等内容,旨在确保软件项目能够按时、按质完成。
四、软件工程的发展趋势1. 敏捷开发:敏捷开发是一种注重迭代与快速响应变化的软件开发方法,在适应需求变化和加快开发周期方面有着明显的优势,成为当前软件工程的重要趋势。
2. 云计算与大数据:云计算和大数据技术的兴起带来了软件工程的新挑战和发展方向,软件工程需要适应云计算和大数据环境下的需求和技术。
软件工程期末复习重点

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.软件工程伦理和法律:软件工程伦理和法律是研究软件工程中伦理和法律问题的学科。
了解软件开发过程中的道德和法律规定可以帮助我们遵守相关的标准和法律规定。
除了以上列举的知识点,软件工程还涉及到很多其他的领域,如人机交互、软件配置管理、软件工程教育等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程第一章1.软件= 程序+ 数据+ 文档2.软件危机及表现:二十世纪六十年代中期,在美国就出现了软件危机(Software Crisis),这种危机表现在研发大型软件时,软件开发的成本增大、进度延期、维护困难和质量得不到保障。
所谓软件危机,就是在软件开发和维护过程中所遇到一系列难以控制的问题。
3.软件工程定义:权威杂志IEEE对软件工程的定义是:软件工程是将系统化的、严格约束的、可量化的方法,应用于软件开发、运行和维护中去。
软件工程大师Roger S Pressman 对软件工程的定义是:软件工程是一个过程、一组方法和一系列工具。
软件工程是研究软件开发和软件管理的一门工程学科。
4.软件工程基本原理:(1)用分阶段的生命周期计划严格管理软件开发。
阶段划分为计划、分析、设计、编程、测试和运行维护。
(2)坚持进行阶段评审。
上一阶段评审不通过,就不能进入下一阶段开发。
(3)实行严格的产品版本控制。
(4)采用现代程序设计技术。
(5)结果应能清楚地审查。
因此,对文档要有严格要求。
(6)开发小组的成员要少而精。
(7)要不断地改进软件工程实践的经验和技术,要与时俱进。
上述七条原理,虽然是在面向过程的程序设计时代(结构化时代)提出来的。
但是,直到今天,在面向元数据和面向对象的程序设计新时代,它仍然有效。
(8)二八定律5.软件工程三要素:习惯上,人们常常把软件工程的方法(开发方法)、工具(支持方法的工具)、过程(管理过程)称为软件工程三要素。
6. 4种开发方法的比较:方法名称优点缺点适合场合面向过程的方法简单好学不适应窗口界面,维护困难大型工程计算,实时数据跟处理,各种自动化控制系统以及系统软件实现等领域面向对象的方法功能强大、易于维护不易掌握互联网络时代,完全由用户互控制程序执行过程的应用件和系统软件的开发面向元数据的方法通俗易懂不适应窗口界面以关系数据库管理系统为支环境的信息系统建设形式化方法准确、严谨难于上手和应用对安全性要求极高,不容许错的系统软件,如军事、医、交通等领域7.面向流程分析,就是面向流程进行需求分析。
8.面向元数据设计,就是面向元数据进行概要设计。
9.面向对象实现,就是面向对象进行详细设计和编程实现。
10.面向功能测试,就是面向功能进行模块测试、集成测试、Alpha测试和Beta测试。
11.面向过程管理,就是面向软件生命周期过程,对软件生命周期各个阶段进行过程管理与过程改进。
12.软件工程中的三类管理过程:第二章1.瀑布模型的特点:(1)里程碑或基线驱动,或者说文档驱动。
(2)过程逆转性很差或者说不可逆转,因为根据上游的错误会在下游进行发散性传播的原理,所以逆转将会延误工期,增加成本,造成重大损失。
2.迭代模型的四个阶段:(1)初始阶段。
本阶段主要工作是确定系统的业务用况和定义项目的范围。
(2)精化阶段。
本阶段主要工作是分析问题域、细化产品定义,定义系统的构架并建立基线,为构建阶段的设计和实施工作提供一个稳定的基础。
(3)构建阶段。
本阶段主要工作是反复地开发,以完善产品,达到用户的要求。
(4)产品化(移交)阶段。
本阶段主要工作是将产品交付给用户,包括安装、培训、交付、维护等工作。
3. 简述瀑布模型、增量模型、迭代模型、原型模型、XP等模型的优缺点。
序号模型名称优点缺点适用范围1 瀑布模型简单好学逆转性差面向过程开发2 增量模型可以分阶段提交有时用户不同意系统可拆卸和组装3 迭代模型需求可变风险大有高素质软件团队4 原型模型开发速度快不利于创新已有产品的原型5 螺旋模型需求可变建设周期长庞大、复杂、高风险项目6 喷泉模型提高开发效率不利于项目的管理面向对象开发7 XP模型提高开发效率不适合大团队、大项目小团队,小项目第三章1.什么是订单软件,什么是非订单软件?答:软件项目(或产品)来源有两个渠道“非订单软件”:通过市场调研之后,认为某产品将会有巨大的市场空间,而软件公司在人力资源、设备资源、抵抗风险、资金和时间上都具备开发该产品的能力,于是决定立项。
“订单软件”:与固定的用户签订软件开发合同2.下达任务的时机及三个条件,(1)软件企业已签订了项目《合同》;(2)《立项建议书》已通过了项目评审;(3)作为特殊情况,软件组织的上级下达了某项目的指令性软件开发计划。
例如:由跨组织跨部门的某个大系统项目,它的系统总体设计组分配给软件的需求。
3.下达任务书的三个条件第四章1.需求分析定义1997年,IEEE软件工程标准词汇表中定义需求为:(1).用户解决问题或达到目标所需的条件或能力(Capability)。
(2).系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
(3).一种反映上面(1)或(2)所描述的条件或能力的文档说明。
2.需求分析为什么重要需求分析特别重要。
这是因为:(1).许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺利进行。
(2).用户需求报告既是软件生命周期中的第一个里程碑,又是客户、软件开发人员、软件测试人员和项目管理人员四者共同工作的基线,是项目Alpha测试和Beta测试的准则,是供方交付产品和需方验收产品的依据。
(3).需求分析要占用整个软件开发时间或工作量的30%左右。
(4).需求获取中的错误,属于软件开发中的早期错误,将给项目成功带来极大风险,因为这些错误会在后续的设计和实现中进行发散式的传播。
根据以上四项原因,IT企业的高层经理,对需求分析特别重视,常常派经验最丰富的人员去作项目需求。
3.软件需求的三个层次:软件需求包括三个不同层次:高层领导的战略决策需求、中层管理的查询统计需求、基层人员的实时操作需求。
这个上中下三层需求,构成一个需求金字塔。
4.需求分析的目的、重点与难点需求分析的重点是:通过弄清业务流程和数据流程的手段,达到与客户共同确定业务模型、功能模型、性能模型、接口模型的目标。
“开发者与客户达成完全一致的需求”,既是需求分析的目的,也是需求分析的难点5.需求分析名词解释:(1)基线:基线是软件工作产品,它是要经内部和外部评审通过的,是下一阶段工作的基础。
(2)里程碑:里程碑是一个标记,只需要经过内部评审。
一个里程碑是一个检查点,但不一定对应一条基线。
(3)评审:评审,是对软件工程产品质量的一次开会(或汇签)活动。
(4)审计:审计,是复查评审活动程序的合法性,是否按程序与规范进行等。
6. 需求分析描述工具有:(1)实体关系图。
(2)数据流图。
(3)用例图。
(会画用例图)(4)活动图。
7.提取需求技术(1) 会谈(2) 场景(3) 原型(4) 实地观察 8.数据流图的符号:9.“图书管理系统”顶层用例图:10.“图书管理系统”的“借书登记”用例图图书管理系统<<include>><<include>><<access>><<access>>用户管理图书管理借还登记图书查询图书管理员读者图书预定系统设置系统管理员借还登记<<extend>>借书登记还书登记过期罚款查看借阅情况读者图书管理员11.需求评审检查的项目包括:(1). 需求是否描述清楚,不存在歧义。
(2). 需求是否是可量化的,可验证的。
(3). 需求间是否存在冲突,以及它们之间的依赖关系。
(4)..非功能性需求是否明确、合理。
(4). 需求是否注明来源。
(5). 每个需求是否分配了唯一的标识。
12.同行评审,是软件工作产品验证的活动,其目的是为了及早和高效地从软件产品中识别并消除缺陷。
与技术鉴定不同,同行评审的对象一般是部分软件产品,其重点在于发现软件产品中的缺陷。
13.所谓同行,是指在软件企业内部,与生产者在被评审的软件产品上有相同的开发经验和知识的人员。
第五章1.软件策划,既是为软件开发者和管理者制定合理的工作计划,又是为软件项目跟踪和监控提供考核依据,属于软件管理和软件决策的范畴,是项目经理以上人员的职责范围,是软件企业管理的重大事件之一。
2.软件策划的步骤(1)估计软件工作产品的规模、工作量、费用及所需的资源(2)制定时间表(3)鉴别和评估风险(4)与相关的组或人协商策划中的有关约定3.软件策划的目标(1) 对供项目策划和跟踪用的三个软件估计已建立文档。
这三个估计是:工作产品规模估计工作量及成本估计计算机资源估计;(2) 软件项目活动和约定,是有计划的并巳建立文档。
这里的活动,包括开发活动和管理活动。
这里的约定,是指对项目的各种标准、规范、规程的约束;(3) 受影响的组和个人,同意他们对软件项目的约定。
4.所谓定义软件过程,就是根据选定的生命周期模型,规定软件的开发阶段,及每一阶段的工作步骤和文档标准等内容5.软件规模估计方法:Delphi 法、类比法、功能点估计法、无礼估计法6.P89例题7.软件策划文档就是《软件开发计划书》 第六章1.三个模型的定义及表示方法:(1)功能模型FM (Function Model )实质上是用户需求模型,是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。
功能模型的表示方法为:系统功能需求列表、性能需求列表、接口需求列表、界面需求列表。
UML 规定主要采用“用例图”来描述功能模型。
(2)业务模型OM (Operation Model )实质上是业务逻辑模型,是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。
在UML中,完整的业务模型由用例图、时序图、交互图、状态图、活动图来表述。
但是,时序图在表述中起到核心作用。
(3)数据模型DM (Data Model )实质上是实体或类的状态关系模型,即对系统的数据结构进行定义。
UML 规定,主要采用“类图”来描述数据模型第七章 1.模块独立性:指每个模块只完成系统要求的独立的子功能,并与其他模块的联系最少,且接口简单2.3.面向过程详细设计的描述工具五种:1.程序流程图,2.N-S 图,3程序设计语言PDL ,4.决策表,5,PAD 4.【例7-1】 使用程序流程图,描述并打印N 的阶乘,如图所示F = 1M = 1M==N?开始读入N结束F = F * MM = M + 1打印F 是否【例7-2】 使用N-S 图,描述并打印N 的阶乘,如图所示【例7-3】 使用程序设计语言描述打印N 的阶乘。
读入N置F 的值为1,置M 的值为1 当M <= N 时,执行: 使F = F * M 使 M = M + 1 打印F 例7-5】 使用PAD 图描述打印N 的阶乘,如图读入N F = 1, M = 1当M<=N F = F * M M = M + 1打印Fread N; i=1; p=1; i <=N; p=p×i ; i =i+1;Print p;5.习题7.6 请用面向过程详细设计中的程序流程图,描述求12()N N ++ ≥1,以及求22212N +++ 。