自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javaScript在发送Ajax请求时,URL的域名地址是使用绝对地址还是相对地址,什么是跨域访问操作,js如何实现?

跨域访问(Cross-Origin Resource Sharing,CORS)是指在 Web 应用的运行过程中,由于浏览器的同源策略限制,JavaScript 发起的网络请求被浏览器禁止访问另一个域名下的资源。如果你的 Ajax 请求目标 URL 属于不同的域名,你需要处理跨域请求,但在做前后端分离项目时,通常需要处理跨域请求,这时使用绝对地址的情况就会相对较高。在使用 JavaScript 发送 Ajax 请求时,URL 的域名地址通常使用相对地址或绝对地址都可以,取决于你的需求和使用场景。

2023-11-08 11:19:51 191 1

原创 《为什么软件开发周期总是预估的2-3倍》读后感

软件开发周期预估是根据软件的开发内容、开发工具、开发人员等因素对需求调研、程序设计、编码、测试等整个开发过程所花费的时间做的预测。但是,软件开发周期预估在软件开发中也是较为困难的工序之一,因为软件开发本身就是一个复杂的过程,而且开发周期预估需要考虑到很多因素,如需求变化、人员变更、技术变化等。3.开发人员对实现目标的可能出现的问题,估计不足,往往会低估问题的复杂程度。2.需求理解有差异,用户表达的是这样的,而程序员的理解是这样的,且客户需求不定,增加需求,组织协调不畅。

2023-04-30 13:12:59 70

原创 软件测试工具

它是用C#写出来的,可以支持众多的http调试任务,并且能够使用.net语言进行扩展。Fiddler支持断点试技术,还可以显示所有的Http通讯,你可以很轻松地看到你请求的某个页面,总共被请求了多少次,以及多少字节被转换了。QTP是一种自动测试工具,一般用于重复的自动化测试,主要是用于回归测试和测试同一软件的新版本。特点:商业级测试工具,收费,支持web,支持很多插件,用的是VB语言。特点:不开源,收费,平台大,功能全,要学精通还是有一定的难度。特点:开源,使用简单,支持断点调试技术。

2023-04-30 13:02:15 224

原创 浅谈使用过和了解的编程工具

VC ++是微软公司开发的一个IDE(集成开发工具),也就是C++的一个开发平台,VC++是Window平台上的C++编程工具,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识。IntelliJ在业界被公认为最好的Java开发环境,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。同时有很好的项目管理方式和更高的开发效率,是现在主流的开发工具。

2023-04-30 10:24:59 107

原创 分治法的概念和理解

分治法,顾名思义是“分而治之”,就是把一个复杂的问题分成两个或者多个相同的子问题,再把子问题分成更小的子问题知道最后子问题可以简单地求解出来,此时原问题的解就是子问题的解的合并,这个思想是很多算法的基础,例如排序算法(快速排序、归并排序)等。分治策略:对于一个规模为n的问题,若该问题可以容易的解决(比如规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解决这些子问题,然后将各个子问题的解合并得到原问题的解。(3) 能够将子问题的解组合成原问题的解。

2023-04-17 10:08:46 143

原创 模块化设计

简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。① 力求以少量的模块组成尽可能多的产品,并在满足要求的基础上使产品精度高、性能稳定、结构简单、成本低廉,模块间的联系尽可能简单;2.互换性,模块接口部位的结构、尺寸和参数标准化,容易实现模块间的互换,从而使模块满足更大数量的不同产品的需要;3.通用性,有利于实现横系列、纵系列产品间的模块的通用,实现跨系列产品间的模块的通用。

2023-04-17 09:58:17 196

原创 衡量模块独立性的定性标准

过程内聚与顺序内聚的区别是: 顺序内聚中是数据流从一个处理单元流到另一个处理单元,而过程内聚是控制流从一个动作流向另一个动作。一个模块直接访问另一模块的内部数据,则称这两个模块为内容耦合,同时一个模块不通过正常入口而转到另一个模块的内部。模块独立性指不依赖其他模块就能独立完成的特性,衡量模块独立性的定性标准有内聚和耦合。功能内聚是最高程度的内聚。如果一个模块内的处理元素是相关的,而且必须以特定的次序执行,称为过程内聚。如果一个模块内所有处理元素完成一个,而且仅完成一个功能,则称为功能内聚。

2023-04-16 10:10:22 281

原创 信息隐藏和局部化

信息隐藏意味着软件的模块化可以通过定义一组独立的模块来实现,这些模块相互之间只进行实现软件功能所必须的通信。局部化与信息隐藏是一对密切相关的概念。信息隐藏其实就是将没有必要给用户知道的信息封装起来,只提供必要的方法和接口给用户看就可以了。信息隐藏和局部化的作用在于提高软件的模块化程度和独立性,有效的模块化可以通过定义一组独立的模块来实现,每个模块仅交换必要的信息,从而避免了修改期间由于疏忽而引起的错误传播到软件的其他部分。这样就可以提高可维护性和可靠性。

2023-04-16 09:54:32 123

原创 WBS概述

WBS(Work Breakdown Structure)是一种常用的分解项目工作的方法。表示以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义.WBS的有几个主要用途,它是一个描述思路的规划和设计工具,可以有效帮助项目经理和项目团队确定和有效地管理项目的工作。同时,它可以很清晰地表示各项目工作之间的互相联系,展现项目全貌,详细说明为完成项目所必须完成的各项工作。

2023-04-15 11:19:24 366

原创 编程语言的使用

Dev C++和Visual Studio都是写C++不错的开发工具,但也有些人使用的是Visual Studio Code,这是一款轻量级的编辑器,安装包小,且启动速度快,拥有丰富的插件系统和代码追踪功能,得到很多人的好评。后面我使用得多的就是Java语言,它的优势就是Java语言是一种优秀的编程语言。使用什么语言因人而异,有的人也很喜欢用Python,因为它写得快,而C++是运行得快,Java语言在这个方面就处于一个尴尬的地位,既不是写得最快的,也不是运行得最快的,但这并不影响它在市场上的需求。

2023-04-15 10:56:07 59

原创 软件工程调研作业

2.中小学生教师: 中小学生数学教师有多年的数学教学经验,知道很多有关中小学生数学的重要知识点,可以询问他们对这款软件可以添加哪些数学知识点,方便做题解和视频讲解。1.中小学生:中小学生是这款软件的最终受益者,可以去各中小学随机找若干名中小学生对这款软件的功能期望。3.教育局专家:有很多教育局专家参加过很多大型中小学生数学考试试题编写,可以找相关专家对该软件提建议。如果你要开发一个中小学生学习数学的软件,你应该找谁去做用户调研?

2023-04-09 15:56:55 34

原创 Homework to blog

(1) 报名:由报名处负责,需要在学员登记表上进行报名登记,需要查询课程表让学员选报课程,学院所报课程将记录到学员选课表。(2) 交费:由收费处负责,需要根据学员所报课程的收费标准进行收费,然后在账目表上记账,并打印收款收据给办理交费的学员。课程的属性有课程号、课程名。(3) 就读:由培训处负责,其在验证学员收款收据后,根据学员所报课程将学员安排到合适班级就读。要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型。(2)学校规定:一个学生可选修多门课,一门课有若干个学生选修;

2023-04-09 15:41:26 97

原创 理解结对编程

结对编程时,两个人共同完成一个功能,可以避免个人的误区存在,通常个人的想法难免有局限性,自己看自己写的代码总是觉得怎么都对。还有通过结对,代码至少有一个程序员进行了审查,这样可以让设计、测试和编码更加友好,减少了缺陷,从而提高了产品质量。结对这种面对面的沟通交流方式,对于知识和技能的传递是最好的形式。同时,这种即时的沟通也让同事之间关系变得融洽,相对比那种每个人一个格子间闷头写代码,更利于创建和谐的团队氛围。在结对合作的时候,每个人不仅会从对方那里学到新的知识和技能,还能受到对方的工作方式和处态度的影响。

2023-03-19 09:56:51 41

原创 什么是DevOps

随着业务体量发展越来越大,单机变多机,业务架构也开始加入了nginx,cdn,缓存等通用基础服务,涉及到多人开发和多人多机器模式。需要专门的运维介入,这时 Ops 的主要职责就是:硬件维护、网络设备维护、DBA 、基础服务维护、数据监控等,运维们擅长写各种部署,监控脚本,减少机械的重复工作,开发模式变成了敏捷开发模式。开发模式简单,举例来说就是给项目搭建好服务器开启服务,服务监控也简单,服务出问题直接线上看一下运行日志,不需要专门的运维来做部署,直接按照瀑布模式流程开发。3.微服务架构+DEVOPS。

2023-03-18 13:37:06 191

原创 软件开发模式

当然,也有人有不同的观点,例如有人认为unix的信号就是一个满身补丁的东西,信号会中断系统调用,信号处理函数中为了防止再次被信号中断,打上了信号mask补丁,当处理了信号的进程又fork了进程,又引入了一堆系统调用来处理信号被子进程继承的问题,在引入多线程后同样引入一堆系统调用来打补丁,各种mask信号,觉得确实是开源问题,但也有人觉得今天Linux在整体OS市场上已经击败了windows, 大量各种open source软件都取得巨大的成功。软件工程方法论提供了一系列的方法以帮助软件开发项目的顺利完成。

2023-03-18 12:35:49 62

原创 个人未来展望

在我看来,软件工程确实教会了不怎么写程序的人开发软件,如今随着互联网时代的飞速发展,对软件的需求越来越大,为了完成需求,就要求开发人员不断地学习新的技术来完成开发任务。3.继续深入学习编程语言相关的知识,虽说编程语言只是辅助工具,编程思想更为重要,但举个例子,通过对某个编程语言进行系统性学习对培养编程思想有很大的帮助。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。4.多关注一些比赛的消息,有机会可以参加点比赛,锻炼自己的能力。

2023-03-12 13:54:56 36

原创 《现代软件工程基础》读后感

有关软件工程的一些简单知识

2023-03-12 12:47:19 68

空空如也

空空如也

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

TA关注的人

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