自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 几项设计模式

1. 适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。2. 状态模式在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建

2021-01-01 18:34:10 124

转载 大象——thinking in UML

前言本书以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言和精彩的事例将复杂枯燥的软件过程讲解得津津有味。全书分为准备篇、基础篇、进阶篇和总结篇四个部分。准备篇讲述面向对象分析的一些基本概念,及学习建模需要了解的一些基本知识。基础篇对UML的基础概念重新组织和归纳整理,进行扩展和讨论,引申出针对UML的这些概念在面向对象方法中应用方法的思考。进阶篇以一个实例贯穿全篇,阐述如何使用UML从头到尾地实施一个项目。

2021-01-01 18:26:01 310

原创 WBS

WBS:工作分解结构(baiWork Breakdown Structure), 创建WBS是把du项目工作按阶段zhi可交付成果分dao解成较小zhuan的,更易于管理的shu组成部分的过程。创建WBS时需要满足以下基本要求:某项任务应该在WBS中的一个地方且只应该在WBS中的一个地方出现。WBS中某项任务的内容是其下所有WBS项的总和。一个WBS项只能由一个人负责,即使许多人都可能在其上工作,也只能由一个人负责,其他人只能是参与者,WBS必须与实际工作中的执行方式一致,应让项目团队成员积极参与创建

2021-01-01 18:18:36 568

原创 什么是分而治之?

分而治之顾名思义就是分别治理的意思。软件工程中也是如此,一个项目千头万绪,要一下完成很难,所以我们要把一个项目拆分成若干个需求,每一次只干其中的一件事,然后一件一件的完成后,一个项目就完成了。...

2021-01-01 18:16:00 179

原创 为什么软件开发的周期总是预估的2~3倍?

1.项目本身不合理(1)估算不正确(2)关键资源和关键路径的安排不合理(3)项目中资源没有充分利用2.团队和人的问题(1)项目成员责任心不强(2)项目沟通问题3.项目风险管理没有做好4.项目范围出现大的变动5.项目开发模式和选用工具技术出现问题Quora精选:为什么软件开发周期总是预期的2~3倍?原文链接...

2021-01-01 18:10:39 97

原创 软件工程期末复习13-软件测试方法与过程

1. 软件测试方法按照执行测试时是否需要运行程序,软件测试可以划分为静态测试和动态测试。审查和走查是静态测试的常用形式。动态测试中有两种非常流行的测试技术,即黑盒测试和白盒测试。2. 黑盒测试黑盒测试包括等价类划分法、边界值分析法、错误推测法、因果图法等。白盒测试包括逻辑覆盖测试方法和基本路径测试等方法。2.1 等价类划分法等价类划分是把程序的输入域划分为若干子集,然后从每个子集中选取少数具有代表性的数据用作测试用例,所选取的输入数据对于揭露程序中的错误都是等效的。等价类分为有效等价类和

2020-12-27 14:40:48 1271

原创 软件工程期末复习12-软件测试概述

1. 软件测试的基本概念软件测试是发现软件中错误和缺陷的主要手段。软件缺陷的产生是不可避免的,软件测试的工作是必需的。在软件开发过程的任何阶段都可能引入缺陷。缺陷被引入的阶段越早,在软件开发的后期修复这些缺陷带来的成本损失就越大。软件测试工作应该贯穿于整个开发过程。1.1 软件测试的原则软件测试是为了发现错误而执行程序的过程,它并不可能找出所有的错误,但是却可以减少潜在的错误或缺陷。以下是经验:(1) 完全测试是不可能的。(2) 测试中存在风险。(3)软件测试只能表明缺陷的存在,而不能证明软件产

2020-12-27 11:42:35 259

原创 软件工程期末复习10-面向对象设计

1. 面向对象设计与结构化设计结构化方法把解空间分数据和功能两部分,可以更加清晰地进行需求分析和功能分解,数据流图能够细致地说明数据在各个功能模块之间的流动和变化,更适于系统设计的前期阶段。设计人员清楚地了解数据和系统要求的操作后面向对象方法能够把数据和功能以对象为单位封装成一个整体,更直观地表达对象的状态变化和对象间的交互,更加准确地分析功能的实现过程,更适于在软件后2. 面向对象设计与面向对象分析的关系设计阶段的任务是及时把分析阶段得到的需求转变成符合各项要求的系统实现方案。面向对象的需求分析和

2020-12-27 11:15:37 3002 3

原创 软件工程期末复习9-结构化设计

1. 结构化软件设计概述在结构化设计中,概要设计(总体设计)阶段将软件需求转化为数据结构和软件的系统结构。概要设计阶段要完成体系结构设计、数据设计及接口设计。详细设计阶段要完成过程设计,因此详细设计一般也称为过程设计,它详细地设计每个模块,确定完成每个模块功能所需要的算法和数据结构。2. 结构化设计与结构化分析的关系要进行结构化的设计,必须依据结构化分析的结果。3. 体系结构设计3.1 表示软件结构的图形工具层次图和HIPO图通常使用层次图描绘软件的层次结构,带编号层次图称为HIPO。2

2020-12-27 09:46:53 2299

原创 软件工程期末复习8-软件体系结构与设计模式

1.软件体系结构的概念1.1 什么是软件体系结构软件体系结构既决定系统的框架和主题结构,又决定系统的基本功能及某些细节特征。具体来说,软件体系结构是系统的一个或多个结构,包括以下几部分:(1)软件的组成元素(组件)。(2)这些(组件)元素的外部可见性。(3)这些元素(组件)之间的相互关系。1.2 软件体系结构的建模研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型

2020-12-27 09:46:30 2674 2

原创 软件工程期末复习7-软件设计

1. 软件设计的基本概念需求分析,回答了软件系统能“做什么”的问题。软件设计,回答“怎么做”才能实现软件系统的问题分析模型转换成设计模型。1.1 软件设计的意义和目标1)设计必须实现所有包含在分析模型中的明确需求,而且必须满足用户期望的所有隐含需求。2)对于程序员、测试人员和维护人员而言,设计必须是可读的、可理解的指南。3)设计必须提供软件的全貌,从实现的角度说明数据域、功能域和行为域。1.2 软件设计的原则1.模块化模块是数据说明、可执行语句等程序对象的集合,是构成程序的基本构件,可以被单

2020-12-27 09:44:30 791

原创 软件工程期末复习6-面向对象分析

1. 面向对象分析方法1.1 面向对象分析过程面向对象的分析主要以用例模型为基础。用例是指系统中的一个功能单元,可以描述为参与者与系统之间的一次交互。目标系统的类可以划分为边界类、控制类和实体类。1.边界类代表了系统及其操参与者的边界,描述参与者与系统之间的交互。它更加关注系统的职责,而不是实现职责的具体细节。通常,界面控制类、系统和设备接口类都属于边界类。2.控制类代表了系统的逻辑控制,描述一个用例所具有的事件流的控制行为,实现对用例行为的封装。通常,可以为每个用例定义一个控制类。3.实体类描

2020-12-26 22:24:13 2628

原创 软件工程期末复习5-面向对象方法与UML

1. 面向对象地软件工程方法1.1 面向对象的基本概念1.面向对象2.对象3.类4.消息5.类的特性(抽象、继承、封装、多态、重载、包、包的接口类)1.2 面向对象的软件工程方法的特征和优势1.●面向对象的软件工程方法的特征0把数据和操作封装在-起,形成对象。对象是构成软件系统的基本构件。0把特征相似的对象抽象为类。0类之间可以存在继承或被继承的关系,形成软件系统的层次结构。0对象之间通过发送消息进行通信。0将对象的私有信息封装起来。外界不能直接访问对象的内部信息,而必须是发送相应

2020-12-26 22:23:44 1159

原创 软件工程期末复习4-结构化分析

1. 结构化分析概述结构化分析方法是一种考虑数据和处理地需求分析方法。它基于“分解”和“抽象”的基本思想,逐步建立目标系统的逻辑模型,进而描绘出满足用户要求的软件系统。结构化分析方法是一种面向数据流的需求分析方法,其中数据作为独立实体转换,数据建模定义了数据的属性和关系,操作数据的处理建模表明当数据在系统流动时处理如何转换数据。2. 结构化分析方法结构化分析模型地核心是“数据字典”它描述软件使用或产生的所有数据对象。围绕着这个核心有3种不同的图:”数据流图”指出当数据在软件系统中移动时怎样被变换,

2020-12-26 22:23:24 2782 1

原创 软件工程期末复习3-可行性研究及需求分析

1. 可行性研究1.1 项目立项概述项目立项包括项目发起、项目论证、项目审核和项目立项4个过程。1.2 可行性研究的内容可行性研究需要从多个方面进行评估,主要包括:战略可行性,操作可行性,计划可行性,技术可行性,社会可行性,市场可行性,经济可行性,风险可行性1.3 可行性研究的步骤1.明确系统阿目标2.分析研究现行系统3.设计新系统过的高层逻辑模型4.获得比较可行的方案5.撰写可行性研究报告2. 需求分析2.1 需求分析的任务可行性分析是要决定“做还是不做“需求分析就是要回答“

2020-12-26 22:22:57 2907 1

原创 软件工程期末复习2-软件过程

1.软件过程概述1. 软件过程概述软件的诞生和生命周期是一个过程,称为软件过程。过程定义了运用方法的顺序,应交付的文档资料,为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。2. 软件生命周期2.1 软件生命周期的概念软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用,以及产品版本的不断更新,到该产品最终被市场淘汰的全过程。2.2 传统软件周期的各个阶段可行性研究雪球分析软件设计编码软

2020-12-26 22:22:37 625 1

原创 软件工程期末复习1-软件工程概述

1.软件1.1 软件的概念及特点软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。软件具有以下几个特点:(1)软件是无形的、不可见的逻辑实体(2)软件是设计开发的,而不是生产制造的(3)软件在使用过程中没有磨损、老化问题(4)软件是定制开发的,软件的开发与运行都离不开相关的计算机系统环境(5)软件没有摆脱人工开发(6)软件是复杂的(7)软件开发成本高,软件质量要求较高(8)软件开发工作牵涉到很多社会因素1.2 软件的分类基于功能的不同:系统软件、

2020-12-26 22:22:10 268

转载 网上图书购买系统(建模)

项目:网上图书购买系统活动建模:顾客购物活动:顾客只有在登陆系统后才可以进行各种活动,在登录验证通过后,可以查看图书信息,选择图书,查看和管理购物车,确认购买后就可以提交订单了。订单管理员处理订单活动图:商品管理员活动图:系统管理员活动图:...

2020-12-26 20:54:04 928

转载 网上图书购买系统可行性研究报告

项目需求分析项目:网上图书购买系统文章目录网上图书购买系统可行性研究报告一、引言二、对现有系统的分析三、所建议的系统四、投资及效益分析五、社会因素方面的可行性六、结论总结网上图书购买系统可行性研究报告一、引言1.编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可行。经过对此项目进行详细的研究调查,初拟系统的可行性报告,对软件开发中要面临的问题及解决方案进行初步的设计和合理安排,明确该项目的可行性及所带来的风险和收益。2.项目背景开发软件名称: 网

2020-12-26 20:50:16 1892

原创 项目:网上图书购买系统

网上图书购买系统系统用例设计本系统用例分为顾客,管理员两大类。其中顾客分为普通顾客和会员顾客;管理员分为系统管理员、商品管理员、订单管理员等。顾客(会员)在登陆系统后,可以对个人信息进行管理,可以搜索图书并查看图书信息,找到心仪图书后可以将图书添加到购物车,可以对购物车进行管理,确认顾买后可以提交订单,还可以选择付款方式(网银付款或货到付款),如果书店还没有受理订单,还可以取消订单。顾客用例图:管理员在登陆系统后,可以对系统进行相应的管理,系统管理员负责与顾客进行交流,对顾客的留言进行处理,可以对

2020-12-25 23:10:12 421

原创 网上图书购买系统项目

项目需求分析概况现如今传统的实体书店顾客要买书都是亲自到书店来,非常不方便。而且随着书店销售图书种类和数量的增加以及顾客的增长,尤其是大量顾客到书店选购图书,使得书店场地不足,工作人员也很忙碌。而且现在人们越来啊越倾向于在网上购物,而不是到实体店中购买书籍。即便有一些人到实体书店中去,也并不买书,只是查找些资料,有的甚至会在这呆上很长的时间直到把书免费看完,结果最后这些被看过的书会因为有阅读过的痕迹而影响销售。因此,开发网上图书购买系统,将实体书店转向网络销售,让顾客通过网上书店购买图书。这样书店可以

2020-12-25 23:07:16 1362

原创 内置对象session与httpSession对象

一、内置对象session(1)概念Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。(2)Session对象session对象是一个JSP内置对象。session对象在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打

2020-11-19 14:07:26 378

转载 为什么软件开发方法论让你觉得糟糕?

为什么软件开发方法论让你觉得糟糕?围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱 头?TDD真的能够促生出高品质软件?结对编程是代码评审的有效替代抑或只是增加了商议沟通代价?我想说,虽然缺乏证据判断这些论调的谬处,但有两条常用的法则能够帮助我们选择好的实践,同时,提升我们所提供软件的价值:划小开发周期以及提升反馈效率。Michael Feathers给出了以下观点:我认为,我们最终还是得倚重开发者的能力,

2020-11-18 12:34:47 81

原创 MVC和MVP的区别

MVC和MVP的区别MVC:MVC是一种框架模式,用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。优点:1.耦合性低2.重用性高3.生命周期成本低4.部署快5.可维护性高6.有利软件工程化管理缺点:1.没有明确的定义2.不适合小型,中等规模的应用程序3.增加系统结构和实现的复杂性4.视图与控制器间的过于紧密的连接5.视图对模型数据的低效率访问6.一般高级的界面工具或构造器不支持模式MVP:优点:1、模型与视图完全分离,我们可以修改视图而不影响模型

2020-10-27 16:22:58 72

原创 Manifesto for Software Craftsmanship

Manifesto for Software Craftsmanship原文:http://manifesto.softwarecraftsmanship.org/我们作为一个未来的软件工程师,在设计软件时要足够用心,

2020-10-26 15:08:31 56

原创 什么是形式化方法

什么是形式化方法用于开发计算机系统的形式化方法是描述系统性质的基于数学的技术,这样的形式化方法提供了一个框架,可以在框架中以系统的而不是特别的方式刻划、开发和验 证系统。 如果一个方法有良好的数学基础,那么它就是形式化的,典型地以形式化规约语言给出。这个基础提供一系列精确定义的概念,如:一致性和完整性,以及定义规范 的实现和正确性。 形式化方法的本质是基于数学的方法来描述目标软件系统属性的一种技术。不同的形式化方法的数学基础是不同的,有的以集合论和一阶谓词演算为基础(如Z和 VDM),有的则以时态逻辑为基

2020-10-25 16:48:15 286

原创 软件工程方法论对我们软件开发有多大用处?谈谈你的看法。

软件工程方法论对我们软件开发有多大用处?谈谈你的看法。软件工程方法论是指在软件开发的过程中必须遵循的普遍行为和规则。当我们开发软件的时候就需要用到软件工程方法论。使用软件工程方法论首先从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础而后一阶段任务的完成通常是前一阶段提出的解法更进一步具体化,加进了更多的物理细节。软件工程方法论为每一个阶段都设置了严格的标准,让软件在开发的过程中减少了许多错误的地方。同时软件工程方法论系统地研究了开发方法的性质

2020-10-25 16:41:09 280

原创 软件工程是不是教会不怎么会写程序的人开发软件呢?

软件工程是不是教会不怎么会写程序的人开发软件呢?“Software engineering, of course, presents itself as another worthy cause, but that is eyewash:if you carefully read its literature and analyse what its devotees actually do , you will discover that software engineering has accepte

2020-10-10 13:38:38 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除