软件工程
文章平均质量分 85
智能云
这个作者很懒,什么都没留下…
展开
-
工厂模式
1.简单工厂模式用简单的话来说,工厂模式是工厂模式简单的一种,他可以用一些简单的方法去隐藏对象的细节,一般只需告诉工厂类所需的类型就可以,工厂类会返回你需要的产品类,但你在客户端看到的只是产品的抽象对象,不需要关心返回是什么类。客户端唯一知道的就是具体子类,也就是工厂子类。除了这一点,基本是达到依赖倒转原则的要求罢了!如果我们不去用工厂类,那客户端会每次使用不同的子类的时候,都需要知道到底是用哪一个类,要是累比较少,那没有什么为题。但是当类比较多的时候,管理起来会非常麻烦,就需要做大量的替换,可能还会发原创 2020-12-31 23:15:25 · 933 阅读 · 0 评论 -
敏捷开发
简介敏捷开发(agile development)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷模型敏捷的含义是快速的或通用的。”敏捷过程模型”是指基于迭代开发的软件开发方法。敏捷方法将任务分解为较小的迭代, 或者部分不直接涉及长期计划。在开发过程的开始就确定了项目范围和要求。事先明确定义原创 2020-12-28 22:55:42 · 400 阅读 · 0 评论 -
软件体系结构与设计模式
介绍软件体系结构是系统的一个或多个结构,它包括:软件的组成元素(组件);这些(组件)元素的外部可见特性;这些元素(组件)之间的相互关系。软件体系结构不仅指定了系统的组织结构和拓扑结构,也显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。部件包括客户端、服务器、数据库、程序包、过程、子程序等一切软件的组成部分。相互作用的关系可以是过程调用、消息传递、共享内存变量、客户端/服务器的访问协议、数据库的访问协议等。软件体系结构的分层模型计算机硬件层是软件实现的物质基础原创 2020-12-27 23:28:58 · 2101 阅读 · 2 评论 -
面向对象设计
简介结构化方法把解空间分数据和功能两部分,可以更加清晰地进行需求分析和功能分解,数据流图能够细致地说明数据在各个功能模块之间的流动和变化,更适于系统设计的前期阶段。设计人员清楚地了解数据和系统要求的操作后面向对象方法能够把数据和功能以对象为单位封装成一个整体,更直观地表达对象的状态变化和对象间的交互,更加准确地分析功能的实现过程,更适于在软件后期细化系统的具体行为。过程与规则如图所示,与目标系统(即开发软件体系结构的系统)交互的系统可以表示为:上级系统:将目标系统作为某些高层处理方案的一部分。下原创 2020-12-25 22:59:14 · 139 阅读 · 0 评论 -
结构化设计
简介结构化设计,亦称SD(Structured Design),是一种面向数据流的设计方法,目的在于确定软件的结构。 [1]结构化分析 是一种面向功能或面向数据流的需求分析方法,采用自顶向下、逐层分解的方法,建立系统的处理流程。过程设计程序流程图流程图是对过程、算法、流程的一种图形表示,它对某个问题的定义、分析或解法进行描述,用定义完善的符号来表示操作、数据、流向等概念。流程图分为数据流程图、程序流程图、系统流程图、程序网络图和系统资源图5种。这里主要介绍程序流程图。程序流程图也称为程序框图,原创 2020-12-24 23:49:59 · 1297 阅读 · 0 评论 -
设计模式六大原则
一、简介 在程序设计领域,SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变得更加可能。 SOLID所包含的原则是通过引发编程者进行软件源代码的代码重构进行软件的代码异味清扫,从而使得软件清晰可读以及可扩展时可以应用的指南。SOLID被典型的应用在测试驱动开发上,并且是敏捷开发以及自适应软件开发的基本原创 2020-11-29 21:36:15 · 87 阅读 · 0 评论 -
合成复用原则
一、合成复用原则的定义合成复用原则(Composite Reuse Principle,CRP)又叫组合/聚合复用原则(Composition/Aggregate Reuse Principle,CARP)。它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。如果要使用继承关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现规范。问题由来:通常类的复用分为继承复用和合成复用两种,继承复用虽然有简单和易实现的优点,但原创 2020-11-24 22:55:03 · 640 阅读 · 0 评论 -
软件项目开发过程
软件项目开发过程的几个基本流程介绍:1、可行性分析:从市场、政策、经济、技术、人员等各方面因素来分析这个软件项目开发的可实行性。2、需求分析:做市场调研,通过请教行业专家或者分析市场同类型的产品,来判断这个项目的开发是否有发展前景。3、系统设计:确定软件的体系结构、数据结构、算法、模块功能,以及用户界面的设计等等,如果这些事情没有设计好,接下来的设计可能会变得一团糟。4、程序设计:根据以上几点进行软件编码,将软件设计转换成计算机能够识别的程序语言。5、测试与调整:一款软件从开发出来到正式原创 2020-11-17 23:17:37 · 186 阅读 · 0 评论 -
WBS是什么?
目录一、WBS定义二、WBS作用三、WBS构成一、WBS定义 工作分解结构(Work Breakdown Structure, WBS):以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。无论在项目管理实践中,还是在PMP考试中,工作分解结构(WBS)都是最重要的内容。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基础。项目范围是由WBS定义的,所原创 2020-11-03 11:18:54 · 13423 阅读 · 0 评论 -
什么是分而治之?
在计算机科学中,分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 简单来说就是把一个复杂的大的问题分解成许个多小的问题,然后去解决这些小的简单的问题,最终达到解决大的问题的目的。...原创 2020-10-28 17:21:56 · 109 阅读 · 0 评论 -
什么是形式化方法?
内容来源于百科:用于开发计算机系统的形式化方法是描述系统性质的基于数学的技术,这样的形式化方法提供了一个框架,可以在框架中以系统的而不是特别的方式刻划、开发和验 证系统。 如果一个方法有良好的数学基础,那么它就是形式化的,典型地以形式化规约语言给出。这个基础提供一系列精确定义的概念,如:一致性和完整性,以及定义规范 的实现和正确性。 形式化方法的本质是基于数学的方法来描述目标软件系统属性的一种技术。不同的形式化方法的数学基础是不同的,有的以集合论和一阶谓词演算为基础(如Z和 VDM),有的则以时态逻辑为基原创 2020-10-27 21:55:52 · 229 阅读 · 0 评论