- 博客(24)
- 收藏
- 关注
原创 Java DataBase Connectivity
JDBC 概念: JDBC 就是使用Java语言操作关系型数据库的一套API 全称:( Java DataBase Connectivity ) Java 数据库连接。JDBC 本质: 官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口各个数据库厂商去实现这套接口,提供数据库驱动jar包 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。JDBC 好处: 各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发可随时替换底层数据库,访问数据库的Java代码
2024-10-27 16:28:16 314
原创 Tomcat+HTTP+Servlet
之前我们都是使用浏览器访问的是静态资源即html.web资源除了静态资源还有动态资源,即数据可以实现变化,并且前端浏览器通过动态资源可以实现数据的交互。那么如果想实现客户端访问服务器的动态资源,需要我们在后端中定义类直接或者间接实现Servlet接口。Servlet作用:1,接收客户端的请求。2.处理业务逻辑。3.将响应数据给浏览器。解决方案:查看服务器代码。
2024-10-23 11:01:03 903
原创 列举了解的测试工具
TestDirector(大而全)、jira(简单好用)、Quality Center(复杂,收费)、禅道(简单好用)、bugzilla(功能简单)、svn(代码和文档管理工具)、vss类似svn、git,同svn,但是多分支管理比svn好、Note(大而全,费用太贵)、CQ(ClearQuest-IBM产品-大而全);Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入。
2024-05-28 22:51:07 454
原创 入学管理系统的顶层图和1层图
1、报名:由报名处负责,需要在学员登记表上进行报名登记,需要查询课程表让学员选报课程,学院所报课程将记录到学员选课表。2、交费:由收费处负责,需要根据学员所报课程的收费标准进行收费,然后在账目表上记账,并打印收款收据给办理交费的学员。3、就读:由培训处负责,其在验证学员收款收据后,根据学员所报课程将学员安排到合适班级就读。画出入学管理系统的顶层图和1层图。
2024-05-26 16:24:36 266
原创 了解过、使用过什么编程工具
目前为止,我用过的编程工具只有IDE和VSS,希望在今后的学习生活里,我能学到更多的语言,学会使用更多的编程工具。应用场景:适用于Java开发的IDE,具有强大的代码分析和重构功能,支持多种框架和技术。优势:强大的代码补全和静态分析功能、集成了调试器和单元测试工具、支持Django等框架。优势:包括元素检查、网络监控、性能分析等功能,帮助开发人员调试网页和优化性能。应用场景:适用于多种编程语言的编辑和开发,支持丰富的插件生态系统。应用场景:主要用于Python开发,提供了丰富的功能和工具。
2024-05-26 11:04:41 211
原创 如果你要开发一个中小学生学习数学的软件,应该找谁做用户调研
找中小学生。他们是软件的直接使用者,了解他们的需求和学习习惯至关重要。可以通过问卷调查、访谈或参与式设计活动等方法获取他们对于数学学习的困难、喜好及对软件功能的期待。 找家长。作为学生的监护人,家长对孩子的教育非常关注,他们能提供孩子在家学习的反馈,并且是决定购买软件的主要经济决策者。 找数学教师。他们在教学过程中了解学生的学习需求,并且对教学内容和方法有专业的认识。教师们能提供宝贵的意见,帮助软件更好地适配课程标准和提高其教学辅助能力。 找教育专家和学者。他们对教育理论和学习心理有深入研究,能提
2024-05-26 10:35:46 300
原创 如何理解信息隐藏和局部化
信息隐藏是由软件工程先驱之一的 David Parnas 在 1970 年代提出的概念。这个原则认为,为了降低系统的复杂性和提高模块的独立性,每个模块应该隐藏其内部的实现细节,只通过一个定义良好的接口与外界进行通信。总的来说,信息隐藏是关注怎样将模块的内部实现细节隐藏起来,从而提供一个清晰的外部接口和降低耦合度,而局部化则是关注相关信息和处理逻辑的物理位置,从而实现集中管理和维护。这样做的目的是,当改动或者查找与某个特定问题相关的所有信息时,都可以只关注这个限定区域,而不是在整个系统中到处寻找。
2024-05-26 09:40:31 478
原创 衡量模块独立的定性标准是什么
功能单一性:每个模块应该只负责一个功能领域或一个业务逻辑。如果一个模块被设计来执行某个特定任务,它就不应该被赋予其他额外的职责。 接口清晰性:模块之间的交互应该通过定义良好的接口进行。这些接口定义了模块之间通信的方式,清晰的接口使得模块之间的交互变得可预测并容易理解。 封装性:模块内部的实现应该对外隐藏,只暴露必要的操作和数据。这让模块的内部可以独立于外部的使用而变化,而外部使用者不需要关心模块内部的复杂性。 独立性:模块之间的耦合度应该最小化。一个模块应该尽可能地独立于其他模块,一个模块的变更不会或
2024-05-26 09:39:20 293
原创 什么是模块化,为什么要模块化
模块化的系统更容易理解和修改,因为每个模块都是独立的。这是因为模块化设计的模块通常设计为完成特定的功能,可以在其他项目中提供相同的功能而无需重复编码。不同的开发人员或团队可以独立地在不同模块上工作,这样加快了整个项目的进度。模块化的系统可以更容易地进行扩展。新增功能时,可以通过添加新模块来实现,而不会影响现有的系统。模块化是一种设计思想,它把一个系统划分为若干个模块,每个模块实现特定的功能。模块化的关键在于每个模块都具有高内聚、低耦合的特性,即模块内部的功能紧密相关,而与其他模块之间的依赖关系最小化。
2024-05-26 09:37:15 433
原创 了解WBS
WBS(Work Breakdown Structure,工作分解结构)是项目管理中一种广泛使用的工具,用于系统地分解项目的工作范围。具体来说,WBS将项目的总体目标分解为更小、更易于管理的部件或"工作包"。
2024-05-19 18:33:44 273 1
原创 什么是分而治之
分而治之的效率通常取决于这种递归过程的深度和每一步的处理过程。将难的问题拆分,难度就会降低,当解决能力大于问题,就可以把问题解决。在算法设计领域,分而治之策略可以帮助简化问题的处理,使得复杂问题变得易于管理和理解。我们在数据结构课程中也学到过一些常见的使用分而治之思想的算法包括:快速排序算法、归并排序算法、二分搜索算法、等。分而治之,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解就是子问题的解的合并。
2024-05-19 18:18:58 170 1
原创 为什么软件开发周期总是预估的2~3倍
这个问题中的讨论通常指向软件项目管理中的一个常见现象,即时间和资源估计不准确。Micheal Wolfe通过一个徒步旅行的例子来解释软件开发周期的预估为何经常是实际所需时间的2到3倍。有效的软件项目管理需要开发者、管理层和客户之间的良好沟通,以及对项目进程的合理评估和适时调整。预估开发时间是一门复杂的艺术,需要充分考虑潜在的风险和不确定性,并在整个项目周期中不断调整计划。1. 需求变更:软件开发是一个动态的过程,在开发过程中可能会出现新的需求或现有需求发生变更,这会影响进度和预算。
2024-05-19 17:31:33 225 1
原创 什么是形式化方法
这本书主要是讲一种如何以对象的思考方式将复杂化的业务用其建模方法的方法形象的表达出来。UML建模,是指通过对客观事物建立一种抽象的方法用以表征事物并获得对事物的理解,同时把这种理解概念化,将这些逻辑组织起来,构成一种对所观察的对象对内部结构和工作眼里的便于理解的表达。打个比方,如果你看到一座美丽的山。你通过对这种山用各种不同的角度如:高度,宽度,美丽程度,植被的覆盖度,等多个角度的描述的过程就是建模的过程。在计算机科学和软件工程领域,形式化方法是基于数学的特种技术,适合于软件和硬件系统的描述、开发和验证。
2024-05-11 23:32:20 230 1
原创 理解结对编程
有的公司还会定期更换结对的人,这样可以让团队的成员都能熟悉到项目的各个功能模块,形成项目集体所有和负责的氛围,避免了一人责任制,也可以让团队成员快速的熟悉业务。从个人角度,提高了个人的能力,提升了效率在结对合作的时候,每个人不仅会从对方那里学到新的知识和技能,还能受到对方的工作方式和处世态度的影响。当团队中的每个人的能力提高了,其实就是整个团队能力的提高。每个人都有自己要负责的任务,两个人其实形成了一个互相监督,共同进步的小团队,为了团队任务的完成,两个人都会专注在自己的任务上,这样就提高了输出的效率。
2024-05-07 16:29:41 257
原创 什么是scrum中的3355?
在一个真实项目中,往往会有这种情况,产品经理或者领导,总喜欢往项目中新增任务,打乱原先的开发节奏,导致程序员压力倍增,而Scrum就是要保护程序员,同时兼顾产品经理的感受。而3355具体指的就是:三个角色,三个工件,五个活动,五个价值观。
2024-05-07 16:13:32 409
原创 什么是DevOps?
这个时候服务监控也简单,服务出了问题,直接去线上看一下运行日志,为了解放双手监控服务,开发者会写一些脚本分析日志,通常开发就可以完成运维的工作,不需要专门的运维来做部署,所以开发模式很简答,直接按照瀑布方式开发就可。就需要专门的运维介入了,一方面是因为开发分工每个人都专注于自己的事情,不会那么用心进行维护,另一方面是运维的学习成本确实变高了,开发人质量参差不齐,服务器要是每个人都可以上估计领导每天晚上都要做噩梦。开发的天职确是不断地推代码上线,进行代码变动,更替迭代,这两个工种天生就是对立的。
2024-05-07 15:43:15 306
原创 Homework to blog
我的看法:在之前没上软件工程这门课前,我觉得软件的开发应该就是根据客户的要求,一堆程序员敲代码,最后完成客户所需要的应用。但上了这门课之后,我发现软件的开发,写代码不是最主要的,主要的应该是软件开发的方法选择,软件开发的方法有:瀑布模型、敏捷开发、螺旋模型、快速模型、增量模型等等。软件工程方法论教会我们使用什么样的模型去开发软件比较好,方法选择的对,有助于软件的开发,提高开发的效率,降低开发的风险,保证软件的质量,方法选错了,就会使开发成本大大提高,开发周期增加,甚至可能会使项目流产等。
2024-04-27 19:11:06 164
原创 Homework to blog
2、我的观点:我认为软件工程不是教会不怎么会写代码的人开发程序。之前我也是认为软件工程这门课是教会我们写代码开发软件,但是上过之后我发现,软件工程是让我们了解软件开发的方法和原则,是帮助有软件开发能力的人能够开发出更加好的软件的课程。对软件工程课程的希望:希望通过课程深入理解软件开发的生命周期、模型、掌握团队协作和项目管理的基本原则和方法。1、flag:在毕业前培养自己能力,争取能在毕业后成为一个真正有能力进软件公司开发软件,做项目的工程师。个人目标:希望可以精通一门语言,完成一个小型的软件项目。
2024-04-22 22:19:08 491
原创 Homework to blog
提问原因:书中似乎只重点强调了软件测试的方法,但并没有讲到使用哪种方法是最合适的。如果方法选择不正确,会大大提高测试的成本。提问原因:书中有些例子是基于某些情况举例出来的,那么在相同或者相似的实际运用场景中,是不是可以用模板进行套用,减少开发时间。问题1:软件的开发不可能只由一个人或者一个团队完成,在那么多的开发人员和运维人员里面,他们是怎么进行合作沟通的?提问原因:书中没有提到关于软件开发过程中,DevOps在团队和团队之间的协作与沟通是如何进行的。问题2:如何在实际项目中选择合适正确的测试方法?
2024-04-14 23:33:16 332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人