![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件工程
huaqianzkh
路虽远行则将至,事虽难做则必成!
展开
-
需求工程>需求开发和需求管理
需求工程包括需求开发和需求管理两大类活动。变更控制、版本控制、需求跟踪和需求状态跟踪。需求获取,需求分析,需求定义,需求验证。原创 2023-12-27 20:32:23 · 304 阅读 · 0 评论 -
界面设计>用户界面设计的3条黄金规则
用户界面设计的3条黄金规则为:1、让用户拥有控制权;2、减少用户的记忆负担;3、保持界面一致。原创 2023-12-23 20:08:45 · 437 阅读 · 0 评论 -
遗留系统>移植工作
这一阶段是进行程序单元、工作单元测试的阶段。所以,当有不能准确工作的程序时,就要回到转换阶段重新工作。,这一阶段是将程序设计和数据转换成新机器能根据需要工作的阶段。,在计划阶段,要进行现有系统的调查整理,从移植技术、系统内容(是否进行系统提炼等)、系统运行三个方面,探讨如何转换成新系统,,在准备阶段要进行移植方面的研究,准备转换所需的资料。该阶段的作业质量将对以后的生产效率产生很大的影响。,这是测试完的程序使新系统工作,最后核实系统,准备正式运行的阶段。计划阶段、准备阶段、转换阶段、测试阶段、验证阶段。原创 2023-12-23 19:13:58 · 293 阅读 · 0 评论 -
需求管理过程域内的原则和策略
是一个对系统需求变更、了解和控制的过程。需求管理过程与需求开发过程相互关联,当初始需求导出的同时就启动了需求管理计划,一旦形成了需求文档的初稿,需求管理活动就开始了。① 需求管理的关键过程领域不涉及收集和分析项目需求,而是假定已收集了软件需求,或者已由更高一级的系统给定了需求。② 开发人员在向客户以及有关部门承诺某些需求之前,应该确认需求和约束条件、风险、偶然因素、假定条件等。③ 关键处理领域同样建议通过版本控制和变更控制来管理需求文档。需求管理过程域内的原则和策略。原创 2023-12-21 13:00:18 · 361 阅读 · 0 评论 -
系统开发>软件系统工具
这类工具采用分解与抽象等基本手段,对用户问题逐步求精,并在检测机制的辅助下,发现其中可能存在的问题(如一致性),通过对问题描述的修改,逐步形成能正确反映用户需求的功能规范。按描述需求定义的方法可以将需求分析工具分为基于自然语言或图像描述的工具和基于形式化需求定义语言的工具。软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具等。用来辅助开发人员进行软件开发活动,对应软件开发过程的各种活动,软件开发工具包括需求分析工具、设计工具、编码与排错工具、测试工具等。原创 2023-12-21 09:02:11 · 837 阅读 · 0 评论 -
软件设计>与开发阶段对应的各种图
B.模块结构图、数据流图和盒图。软件概要设计包括设计软件的结构、确定系统功能模块及其相互关系,主要采用( )描述程序的结构。C.模块结构图、层次图和HIPO图。A.程序流程图、PAD图和伪代码。D.程序流程图、 数据流图和层次图。:模块结构图、层次图和HIPO图。:程序流程图、伪代码、盒图。原创 2023-12-19 14:59:30 · 718 阅读 · 0 评论 -
信息系统开发方法>软件开发方法
是一种具有坚实数学基础的方法,从而允许对系统和开发过程做严格处理和论证,适用于那些系统安全级别要求极高的软件的开发。用形式化语言书写的大型应用问题的软件规格说明往往过于细节化,并且难以为用户和软件设计人员所理解。它使用盒结构规约进行分析和建模,并且将正确性验证作为发现和排除错误的主要机制,使用统计测试来获取认证软件可靠性所需要的信息。CSE强调在规约和设计上的严格性,还强调统计质量控制技术,包括基于客户对软件的预期使用测试。是指软件开发过程所遵循的办法和步骤,从不同的角度可以对软件开发方法进行不同的分类。原创 2023-12-07 22:36:11 · 32 阅读 · 0 评论 -
配置管理>软件系统的文档
这个系统,没有了这种描述即使是最简单的系统也无法使用;描述系统设计、实现和测试等各方面的内容。,并不关心这些功能是怎样实现的;主要描述系统功能和使用方法。,以便使系统成为可维护的。原创 2023-12-06 20:09:54 · 26 阅读 · 0 评论 -
软件设计>耦合和内聚
内部耦合(内容耦合):指一个模块直接访问另一个模块的内部数据;耦合衡量不同模块彼此间互相依赖的紧密程度,应采用( 尽量使用数据耦合、少用控制耦合和特征耦合、限制公共环境耦合的范围、完全不用内容耦合 )的设计原则 ,非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。非直接耦合>数据耦合>特征耦合>控制耦合>外部耦合>公共耦合>内容耦合。标记耦合(特征耦合):一组模块通过参数表传递记录信息(数据结构)。控制耦合:模块之间传递的信息中包含用于控制模块内部逻辑的信息。原创 2023-12-06 10:56:30 · 274 阅读 · 0 评论 -
软件工程>信息系统开发方法
数据流图是进行结构化分析时所使用的模型,其基本成分包括数据流、加工、数据存储和外部实体。对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型。描述概念模型的较理想的工具是E―R图。将抽象的概念模型转化为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,它是物理设计的基础。活动图与传统的程序流程图是不等价的。数据库设计人员采用一定的辅助工具对应用对象的功能、性能、限制等要求所进行的科学分析。是面向对象软件的标准化建模语言,其中状态图、活动图、顺序图和通信图可以用来对系统的动态行为进行建模。原创 2023-12-04 17:44:28 · 46 阅读 · 0 评论 -
业务流程设计>[IPO图][PAD图][N-S图][PFD图]
IPO是指结构化设计中变换型结构的输入(Input)、加工(Processing)、输出(Output)。IPO图是对每个模块进行详细设计的工具,它是输入加工输出(INPUT PROCESS OUTPUT)图的简称,它是由美国IBM公司发起并完善起来的一种工具。在系统的模块结构图形成过程中,产生了大量的模块,在进行详细设计时开发者应为每一个模块写一份说明。IPO图就是用来说明每个模块的输入、输出数据和数据加工的重要工具。IPO图是输入/处理/输出图的简称,它是美国IBM公司提出的一种图形工具,能够方便地描原创 2023-12-04 17:12:57 · 1841 阅读 · 0 评论 -
需求工程>结构化分析
功能建模、行为建模和数据建模。原创 2023-12-04 16:39:32 · 24 阅读 · 0 评论 -
软件设计>软件结构化设计
将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性。:系统结构部件转换成软件的过程描述。确定软件各个组成部分内的。:软件内部,软件和操作系统间以及软件和人之间如何通信。,并选定某种过程的表达形式来描述各种算法。:定义软件系统各主要部件之间的关系。接口设计(人机界面设计)原创 2023-12-04 16:14:52 · 122 阅读 · 0 评论 -
软件工程>软件生命周期模型
是软件开发实际过程的抽象与概括,它应该包括构成软件过程的各种活动,也就是对软件开发过程各阶段之间关系的一个描述和表示。软件过程模型的基本概念:软件过程是制作软件产品的一组活动以及结果,这些活动主要由软件人员来完成,也就是软件的设计和实现,软件工程人员制作出能满足描述的软件。软件过程模型(software process model)软件必须经过严格的验证,以保证能够满足客户的需求。,它是从某一个特定角度提出的软件过程的简化描述。必须定义软件功能以及使用的限制。软件随着客户的需求不断改进。原创 2023-12-04 15:24:46 · 104 阅读 · 0 评论 -
介绍6种开发模型(极限编程、水晶系列、开放式源码等)
Alistair考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。SCRUM已经出现很久了,像前面所论及的方法一样,该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。首席程序员是最富有经验的开发人员,他们是项目的协调者、设计者和指导者,而“类”程序员则主要做源码编写。原创 2023-12-01 13:24:08 · 132 阅读 · 0 评论 -
面向对象基础>分析模型和设计模型
表示的用例实现图、完整精确的。和用以描述流程化处理过程的。表示的软件体系结构图、以。原创 2023-12-01 13:16:01 · 88 阅读 · 0 评论 -
软件设计>结构化设计方法
过程设计,通过对结构细化,得到软件。传统软件工程方法学采用。结构化设计方法(SD)原创 2023-12-01 13:09:58 · 36 阅读 · 0 评论 -
需求工程>需求跟踪
是将单个需求和其他系统元素之间的依赖关系和逻辑联系建立跟踪,这些元素包括各种类型的需求、业务规则、系统架构和构件、源代码、测试用例,以及帮助文件等。)包括编制每个需求与系统元素之间的联系文档,这些元素包括其它需求、体系结构、设计部件、源代码模块、测试、帮助文件和文档等。需求跟踪一般采用需求跟踪矩阵做跟进工作,跟踪矩阵将从需求源头一直跟进到最终的软件产品。原创 2023-11-28 20:55:00 · 520 阅读 · 0 评论 -
软件过程改进>能力成熟度模型(Capability Maturity Model,CMM)
需求管理的目标是为软件需求建立一个基线,提供给软件工程和管理使用;软件计划、产品和活动必须与软件需求保持一致。在软件开发机构中被广泛用来指导软件过程改进。该模型描述了软件成立能力的5个成熟级别,每一级都包含若干个。需求管理、软件项目计划、软件项目跟踪和监督、软件分包合同管理、软件质量保证和软件配置管理。关键过程域(Key Process Areas,KPA)原创 2023-11-28 17:12:55 · 292 阅读 · 0 评论 -
面向对象设计原则>里氏替换原则
一个软件实体如果使用的是一个基类对象,那么一定适用于其子类对象,而且觉察不出基类对象和子类对象的区别,即把基类都替换成它的子类,程序的行为没有变化。由于子类继承基类并实现其中的方法,程序运行时,子类对象可以替换基类对象,如果需要对类的行为进行修改,可以扩展基类,增加新的子类,而无需修改调用该基类对象的代码。B.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题。对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是( )。原创 2023-11-28 16:20:56 · 352 阅读 · 0 评论 -
软件工程>软件开发环境
较完善的软件开发环境通常具有多种功能,例如,软件开发的一致性与完整性维护,配置管理及版本控制,数据的多种表示形式及其在不同形式之间的自动转换,信息的自动检索与更新,项目控制和管理,以及对开发方法学的支持。环境信息库是软件开发环境的核心,用以存储与系统开发有关的信息,并支持信息的交流与共享。另一类是环境提供的支持信息,例如,文档模板、系统配置、过程模型和可复用构件等。统一的、具有一致性的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。过程控制与消息服务器。原创 2023-11-26 19:27:04 · 408 阅读 · 0 评论 -
软件工程>软件生命周期
软件的设计与实现,可分为概要(总体)设计、详细设计、编码、测试等。当软件已没有维护的价值时,宣告退役,软件生命随之宣告结束。软件投入运行后的主要任务是使软件持久满足用户的要求。对软件产品进行修改或对软件需求变化作出响应的过程。,任务是确定软件开发工程必须完成的总目标。为软件定义、软件开发、软件运行与维护。,也就是尽可能地延长软件的寿命。方法学,可以把软件生命周期划分。可行性研究和详细需求分析过程。软件产品移交给用户使用。原创 2023-11-26 15:20:23 · 434 阅读 · 0 评论 -
软件工程>用户文档
详尽描述用户可以使用的所有系统设施以及它们的使用方法,并解释系统可能产生的各种出错信息的含义(对参考手册最主要的要求是完整,因此通常使用形式化的描述技术)。系统文档是从问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档。描述系统设计、实现和测试的文档对于理解程序和维护程序来说是非常重要的。主要描述所交付系统的功能和使用方法,并不关心这些功能是怎样实现的。:简要说明如何着手使用这个系统(通过丰富的例子说明怎样使用常用的系统功能,并说明用户操作错误是怎样恢复和重新启动的)。:说明系统能做什么。原创 2023-11-19 15:31:53 · 82 阅读 · 0 评论 -
软件工程>设计模式
设计模式根据目的和用途不同,可以分为三种。创建型模式主要用于创建对象,为设计类实例化新对象提供指南;结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南;行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。原创 2023-11-19 15:22:32 · 106 阅读 · 0 评论 -
软件工程>面向对象基础
实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转化中,一个参与者一般对应于实体类。通常可以从SRS中的那些与数据库表(需要持久存储)对应的名词着手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。原创 2023-11-19 14:53:00 · 38 阅读 · 0 评论 -
软件测试>常见的系统测试内容
是对系统在异常情况下的承受能力的测试,是检查系统在极限状态下运行时,性能下降的幅度是否在允许的范围内。:系统的安全性测试是检测系统的安全机制、保密措施是否完善,主要是为了检验系统的防范能力。主要监测系统的每一个部分是否齐全,硬件的配置是否合理,安装中需要产生的文件和数据库是否已产生,其内容是否正确等。是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。原创 2023-11-19 11:41:57 · 234 阅读 · 0 评论 -
联合需求计划(Joint Requirement Planning,JRP)
JRP是一种相对来说成本较高的需求获取方法(而非需求分析与验证的方法),但也是十分有效的一种。JRP将会起到群策群力的效果,对于一些问题最有歧义的时候、对需求最不清晰的领域都是十分有用的一种方法。这种方法最大的难度是会议的组织和相关人员的能力,要做到言之有物,气氛开放。JRP的主要意图是收集需求,而不是对需求进行分析和验证。(1)在JRP实施之前,应制订详细的议程,并严格遵照议程进行。(8)保证参加JRP的所有人员能够遵守事先约定的规则。(6)会议期间应设置充分的间歇时间。(2)按照既定的时间安排进行。原创 2023-11-18 16:12:47 · 315 阅读 · 0 评论 -
需求管理>需求的变更流程
一个大型软件系统的需求总是有变化的。为了降低项目开发的风险,需要一个好的变更控制过程。如下图所示为需求变更管理过程。在需求管理过程中需求的变更是受严格管控的,其流程为:1、。这是识别和分析需求问题或者一份明确的变更提议,以检查它的有效性,从而产生一个更明确的需求变更提议。2、。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改、系统修改的设计和实现的成本。一旦分析完成并且确认,应该进行是否执行这一变更的决策。3、。原创 2023-11-18 10:55:29 · 618 阅读 · 0 评论 -
需求工程>系统建议方案
摘要部分以1~2页的篇幅总结整个系统建议方案报告,提供系统方案中的重要时间、地点、人物、原因,以及系统方案是如何实现的等信息。根据项目规模的大小,系统方案既可以单独形成文档(系统建议方案报告、系统方案说明书),也可以合并到可行性研究报告中。(3)系统研究方法。简要地解释系统建议方案报告中包含的信息是如何得到的,研究工作是如何进行的。简要地描述摘要的内容,再次指出系统开发的目标和所建议的系统方案。系统分析师认为阅读者可能会感兴趣的所有信息,但这些信息对于理解系统建议方案报告的内容来说不是必要的。原创 2023-11-18 08:58:42 · 80 阅读 · 0 评论 -
软件工程>面向对象设计原则
迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。接口分离原则:使用多个专门的接口比使用单一的总接口要好。李氏(Liskov)替换原则:子类可以替换父类。开放-封闭原则:对扩展开放,对修改封闭。单一职责原则:设计目的单一的类。原创 2023-11-03 07:02:52 · 25 阅读 · 0 评论 -
UML 2.0包括14种图
UML 2.0包括14种图。原创 2023-11-02 16:59:15 · 665 阅读 · 0 评论 -
软件系统工具
5、软件管理和软件支持工具:软件管理过程和软件支持过程往往要涉及到软件生存周期中的多个活动,软件管理和软件支持工具用来辅助管理人员和软件支持人员的管理活动和支持活动,以确保软件高质高效地完成。(1)基于自然语言或图形描述的工具:这类工具采用分解与抽象等基本手段,对用户问题逐步求精,并在检测机制的辅助下,发现其中可能存在的问题(如一致性),通过对问题描述的修改,逐步形成能正确反映用户需求的功能规范。软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具等。原创 2023-11-01 22:42:42 · 17 阅读 · 0 评论