软件工程&UML
文章平均质量分 73
软件工程、工程化方法、结构化方法、面向对象方法、UML
chls
这个作者很懒,什么都没留下…
展开
-
软件工程知识梳理6-运行和维护
软件的可理解性、可测试性、可修改性,可移植性和可重用性,是决定软件可维护性的基本因素,软件重用技术是能从根本上提高软件可维护性的重要技术,而本书第9章至第12章将要讲述的面向对象的软件技术是目前最成功的软件重用技术。为了改进原有的软件而进行的完善性维护;所以,软件工程的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。M是维护用的总工作量,P是生产性工作量,K是经验常数,c是复杂程度(非结构化设计或缺少文档都会增加软件的复杂程度),d是维护人员对软件的熟练程度。原创 2024-01-31 11:32:32 · 1189 阅读 · 0 评论 -
软件工程知识梳理5-实现和测试
程序中潜藏的错误的数目,直接决定了软件的可靠性。按照传统的软件工程方法学,编码是在对软件进行了总体设计和详细设计之后进行的,它只不过是把软件设计的结果翻译成用某种程序设计语言书写的程序,因此,程序的质量基本上取决于设计的质量。程序内部的良好文档资料,有规律的数据说明格式,简单清晰的语句构造和输入输出格式等,都对提高程序的可读性有很大作用,也在相当大的程度上改进了程序的可维护性。设计测试方案是测试阶段的关键技术问题,基本目标是选用最少量的高效测试数据,做到尽可能完善的测试,从而尽可能多地发现软件中的问题。原创 2024-01-31 11:27:59 · 1072 阅读 · 0 评论 -
软件工程知识梳理4-详细设计
人机界面设计是接口设计的一个重要的组成部分。过程设计应该在数据设计、体系结构设计和接口设计完成之后进行,它的任务是设计解题的详细步骤(即算法),它是详细设计阶段应完成的主要工作。详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,也就是说.经过这个阶段的设计工作.应该得出对目标系统的精确描述.从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。这些工具必须无歧义的描述设计过程、能够指明控制流程、处理功能、数据组织以及其他方面的细节,从而在编码阶段能把对设计的描述直接翻译成程序代码。原创 2024-01-31 11:26:59 · 1792 阅读 · 0 评论 -
软件工程知识梳理1-可行性研究
概括地描述物理系统的传统工具,表达的是数据在系统各部件直接流动的情况,注意,它是物理数据流图而不是程序流程图。可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也即是在较高层次上以较抽象的方式进行系统分析和设计的过程。关于数据信息的集合,也就是对数据流图中包含的所有元素的定义的集合,包含数据流、数据流分量(数据元素)、数据存储和处理。目的:确定问题是否值得去解决。就是用最小的代价在尽可能短的时间内确定问题是否能够解决。:通过图形化的技术描绘信息流和数据从输入移动到输出的过程中所经受的变换。原创 2024-01-31 11:18:40 · 467 阅读 · 0 评论 -
软件工程知识梳理3-总体设计
总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。层次图和结构图是描绘软件结构的常用工具。应该记住﹐这样映射出来的只是软件的初步结构,还必须根据设计原理并且参考启发式规则,认真分析和改进软件的初步结构,以得到质量更高的模块和更合理的软件结构。在进行软件结构设计时应该遵循的最主要的原理是模块独立原理,也就是说,软件应该由一组完成相对独立的子功能的模块组成,这些模块彼此之间的接口关系应该尽量简单。原创 2024-01-31 11:19:59 · 794 阅读 · 0 评论 -
软件工程知识梳理2-需求分析
从可行性研究阶段得到的数据流图出发,在用户的协助下面向数据流自顶向下逐步求精,也是与用户沟通获取需求的一个有效的方法。为了促使用户与分析员齐心协力共同分析需求,人们研究出一种面向团队的需求收集法,称为简易的应用规格说明技术,现在这种技术已经成为信息系统领域使用的主流技术。具体地说,应该确定系统必须具有的功能、性能、可靠性和可用性,必须实现的出错处理需求.接口需求和逆向需求,必须满足的约束条件以及数据需求,并且预测系统的发展前景。需求分析的结果是软件开发的重要基础,15%的错误起源于错误的需求。原创 2024-01-31 11:19:24 · 759 阅读 · 0 评论 -
软件工程知识梳理0-概述
软件工程是生产软件的系统化的方法,它需要考虑现实成本、进度、可靠性等问题,以及软件客户和开发者的需要。所使用的特定的方法、工具和技术取决于开发软件的组织、软件的类型以及开发过程中所涉及的人。学好软件工程就必须理解软件工程到底是干什么的,为什么需要软件工程,以及怎么干的!只有理解了软件工程的本质,才能更好的理解软件工程中各种工程手段和方法的目的。软件工程:是一个工程学科,涵盖了软件生产的各个方面,从初始的构想到运行和维护。软件过程:软件工程中所使用的系统化方法,是实现软件产品开发的活动序列。原创 2024-01-31 11:17:48 · 620 阅读 · 0 评论 -
C++实现通用的文件(万能)加密方案——包含源码
最近做了一个项目,里面有一个小需求就是对处理过的文件进行加密,加密之后无法打开。我最先想到的是异或加密,因为需要速度,并且对加密的安全性要求不高。1、异或加密原理异或密码(simple XOR cipher)是密码学中一种简单的加密算法,是指对信息进行异或操作来达到加密和解密目的。按这种逻辑,文本串行的每个字符可以通过与给定的密钥进行按位异或运算来加密。如果要解密,只需要将加密后的结果与密钥再次进行按位异或运算即可。说的通俗一点,就是一个字符异或一个密钥字符进行加...原创 2022-05-29 12:09:11 · 13151 阅读 · 6 评论 -
UML之协作图
一、定义协作图又称通信图,以图或网格格式描述对象交互,其中对象可以置于图中任何位置。协作图用于描述相互协作的对象间的交互关系和链接关系(链接是关联的实例)。 虽然顺序图和协作图都描述对象间的交互关系,但它们的侧重点不同:顺序图着重表现交互的时间顺序,协作图则着重表现交互对象的静态链接关系。二、组成元素组成元素:对象、链接、消息。元素 解释 图 对象 对象是类的实例,负责发送和接收消息,与顺序图中的符号相同,冒号前为对象名,冒...原创 2022-04-30 05:30:00 · 3952 阅读 · 0 评论 -
UML之活动图
活动图描述活动的顺序,展现从一个活动到另一个活动的控制流,它本质上是一种流程图。组成元素:起点、终点、活动、判断条件、分支与合并、接收信号、发送信号、泳道(其实和流程图很相像)原创 2022-04-29 18:49:44 · 2234 阅读 · 1 评论 -
UML之顺序图
UML顺序图所表达的正是这种基于时间的动态交互。顺序图能够加强产品经理、开发、测试之间对系统功能的进一步了解,通过顺序图我们能够全貌的了解到系统的流程,为我们后续进行测试设计打下了坚实的基础。顺序图除了能够对需求进行分析外,还可以完成很多我们工作上的其他内容,譬如梳理部门的工作流规范(Bug流程、提测流程、用例评审流程、用例编写流程等),甚至可以对部门角色的职能描述。原创 2022-04-25 18:36:03 · 32363 阅读 · 0 评论 -
UML之状态图
一、状态图概要状态图是一种行为图。描述一个特定对象的所有可能的状态以及引起状态转换的事件。在面向对象的软件系统中,一个对象无论多么简单或者多么复杂,都必然会经历一个从开始创建到最终消亡的完整过程,这个过程通常被称为对象的生命周期。一般来说,对象在其生命周期内是不可能完全孤立的,它必然会接受消息来改变自身,或者发送消息来影响其他对象。而状态机就是用于说明对象在其生命周期中响应时间所经历的状态序列以及其对这些事件的响应。在状态机的语境中,一个事件就是一次激发的产生,每个...原创 2022-04-15 19:22:20 · 61156 阅读 · 2 评论 -
UML之类图
一、类图概要类图是面向对象系统建模中最重要的图,是定义其它图的基础。类图主要是用来展现软件系统中的类、接口以及它们之间的静态结构。类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法类图中的“类”与面向对象面向对象面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象二、类图中的元素及解释1、类 从上到下分为三部分,分别是类名、属性和操作。类名是必须有的 类如果有...原创 2022-04-10 01:00:00 · 35206 阅读 · 1 评论 -
UML之用例图
一、用例图概要用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图 用例是系统中的一个功能单元 用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例) 用例图多用于静态建模阶段(主要是业务建模和需求建模)二、用例图中的元素及解释用例图主要有六个元素:参与者(Actor)、 用例(Use Case)、 关联关系(Association)、 包含关系(Include)、 扩展关系(Extend) 泛化关系(Gen.原创 2022-04-09 01:00:00 · 16954 阅读 · 0 评论 -
活动图、泳道图、时序图、状态图、协作图的区别
活动图活动图本质上就是平常说的流程图,用于描述系统的活动、判定点和分支。概念判定点:需要做选择的地方,不同选择会影响后续步骤。分支:一项活动结束后,后续可以同时开始若干项活动。合并:若干项活动做完后,才能进行下一项活动。示例泳道图侧重“活动”属于哪个“对象”,同一对象的活动写在一条“泳道(Lane)”里面。要点对象(who)、顺序(when)、活动(what)示例时序图侧重描述对象之间的传递信息的时间顺序。概念对象:时序图中的矩形框。生命线:一条在方原创 2022-04-08 01:00:00 · 7913 阅读 · 0 评论 -
UML之部署图
一、部署图概要部署图描述处理器、硬件设备和软件构件在运行时的架构,它显示系统硬件的物理拓扑结构及在此结构上执行的软件。使用部署图可以显示硬件节点的拓扑结构和通信路径、节点上运行的软件构件、软件构件包含的逻辑单元(对象、类)等。部署图常用于帮助人理解分布式系统。 部署图用于静态建模,是表示运行时过程节点结构、构件实例及其对象结构的图。 如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。部署图的两种表现形式:实例层部署图和描述层部署图(会在后面的...原创 2022-04-07 17:37:22 · 6975 阅读 · 0 评论 -
UML之构件图详解
一、构件图概要构件图描述软件构件及构件之间的依赖关系,显示代码的静态结构。构件是逻辑架构中定义的概念和功能(如类、对象及它们之间的关系)在物理架构中的实现。典型情况下,构件是开发环境中的实现文件。 构件图用于静态建模,是表示构件类型的组织以及各种构件之间依赖关系依赖关系依赖关系的图。 构件图通过对构件间依赖关系的描述来估计对系统构件的修改给系统可能带来的影响。二、构件图中的事物及解释在 UML中,构件的图示符号是左边带有一个椭圆和两个小矩形的大长方形。构件间的依赖关系用一条带箭原创 2022-04-07 16:55:37 · 19459 阅读 · 0 评论 -
UML概述
UML概述一、UML简介(一)UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。(二)UML的定义包括UML语义和UML表示法两个部分。 1.UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响; 2.UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建...原创 2022-04-07 16:26:34 · 53926 阅读 · 0 评论