自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Principles of Software System Design

软件系统设计是软件开发生命周期中的关键阶段,它为良好结构化、易于维护和可扩展的应用程序奠定了基础。通过遵循模块化、抽象、关注点分离、松耦合、高内聚和可扩展性等原则,开发人员可以创建易于理解、修改和扩展的软件系统。高内聚还简化了测试和调试,因为每个模块的范围是明确定义的。可扩展的系统能够处理增加的工作负载、用户交互和数据量,而不会影响性能或稳定性。模块化促进了代码的可重用性,因为模块可以在系统的不同部分或甚至将来的项目中重用。关注点分离原则主张将系统划分为不同的组件,每个组件负责特定的方面或功能。

2024-01-02 23:01:15 401

原创 Software System Design

软件系统设计是软件开发生命周期中的关键阶段,它为良好结构化、易于维护和可扩展的应用程序奠定了基础。通过遵循模块化、抽象、关注点分离、松耦合、高内聚和可扩展性等原则,开发人员可以创建易于理解、修改和扩展的软件系统。高内聚还简化了测试和调试,因为每个模块的范围是明确定义的。可扩展的系统能够处理增加的工作负载、用户交互和数据量,而不会影响性能或稳定性。模块化促进了代码的可重用性,因为模块可以在系统的不同部分或甚至将来的项目中重用。关注点分离原则主张将系统划分为不同的组件,每个组件负责特定的方面或功能。

2024-01-02 22:58:20 864

原创 The Growing Importance of Software Engineering in the Modern World

对热衷于软件专业的人才的需求正在增长,因为各行各业的企业都认识到强大的软件系统在实现目标方面的重要性。通过及时了解新兴技术、掌握强大的技术技能,并促进有效的合作和沟通,有志于软件专业的人士可以在这个充满活力的领域中蓬勃发展,并为整个社会的进步做出贡献。用户体验(UX)已成为软件应用和产品成功的关键因素。软件工程师在这一过程中起着重要作用,他们设计和开发软件解决方案,使企业能够自动化流程、收集和分析数据,并提供个性化体验。软件工程师采用严格的测试方法,如单元测试、集成测试和性能测试,以发现和修复错误和漏洞。

2023-12-27 11:05:45 869

原创 Exercise

幻灯片 1:标题标题:软件需求简介幻灯片 2:软件需求的定义软件需求是描述软件系统必须满足的功能、特性和约束的规范。它们是软件开发的基础,指导整个生命周期。幻灯片 3:需求的重要性准确和清晰的要求对于项目的成功至关重要。它们确保了利益攸关方之间的共识。帮助估算成本、规划和管理风险。幻灯片 4:软件需求类型功能要求:描述系统必须执行的操作。非功能性需求:指定系统属性,如性能、安全性、可用性。业务需求:定义软件必须实现的业务目标。幻灯片 5:需求流程启发:从利益相关者那里收集需求。

2023-12-26 18:45:11 862

原创 What are the responsibilities of project manager in this project?

项目经理在项目中的职责可能因组织和项目特定要求而异。- 召开项目会议,报告项目状态,并向利益相关者提供最新信息。- 管理项目文档,包括项目计划、报告和其他与项目相关的工件。- 与利益相关者、团队成员和其他项目人员进行协调和沟通。- 监控项目进度,跟踪里程碑,并确保及时完成。- 规划和定义项目范围、目标和可交付成果。- 促进项目团队成员之间的协作和团队合作。- 管理项目风险和问题,并制定缓解策略。- 确保遵守项目管理方法和最佳实践。- 制定项目时间表并分配资源。- 管理项目预算和财务。

2023-12-24 21:14:11 364

原创 Esercise1. How many actors are there in this Web Publishing System?2. What does the use case Edit

3. 数据实体“文章”中的数据项数量将取决于网络发布系统的具体实现和设计。如果没有关于您所指系统的具体信息,我无法在“文章”实体中提供确切数量的数据项。它的范围可以从几篇文章到大型集合,具体取决于系统的规模和范围。2. 用例“编辑者”通常是指 Web 发布系统中的角色或功能。编辑负责创建、编辑和管理网站上的文章、博客文章或其他书面材料等内容。1. Web 发布系统中的参与者数量可能因特定系统及其要求而异。如果没有关于你所指系统的具体信息,我无法提供演员的确切数量。

2023-12-24 21:08:29 412

原创 Memo

在调查研究方面,我们探索了市场上各种可用的选项,并比较了它们的特点、价格和客户评价。根据我们的调查结果,我们推荐购买“XYZ咖啡机”。此外,它提供可定制的设置以适应个人喜好,并且在我们部门的预算范围内价格合理。为了进行购买,我们估计咖啡机的总成本约为[金额]。我们建议从我们部门的办公用品预算中拨出这笔费用,因为它直接为团队的福祉和工作效率做出贡献。总之,我们认为为我们的部门购买咖啡机将是一项有价值的投资。它不仅会提高团队的满意度,还将促进积极的工作环境。

2023-12-24 20:58:03 365

原创 Learing English about SoftWare project

互联网的出现改变了软件的开发和使用。基于 Web 的软件,也称为软件即服务 (SaaS),允许用户直接通过 Web 浏览器访问应用程序和服务,无需安装和本地存储。自问世以来,软件已经走过了漫长的道路,改变了我们生活的方方面面。从早期的机器代码到人工智能驱动的应用程序时代,软件使我们能够提高生产力、互联性和创新性。通过提供对计算资源、存储和服务的按需访问,云实现了软件开发的民主化并降低了基础设施成本。软件已成为我们生活中不可或缺的一部分,彻底改变了我们的工作、沟通和获取信息的方式。软件的演变:赋能数字时代。

2023-12-19 20:15:41 365 1

原创 Future Predictions for the Development of Software

注释翻译:开发人员将专注于构建安全的应用程序,实施强大的加密机制,并遵守严格的隐私法规。注释翻译:人工智能、物联网、低代码开发、云计算和网络安全的整合将在未来几年塑造软件领域。(开发人员将专注于构建安全的应用程序,实施强大的加密机制,并遵守严格的隐私法规。(人工智能、物联网、低代码开发、云计算和网络安全的整合将在未来几年塑造软件领域。(在未来,人工智能(AI)和机器学习(ML)将在软件开发中发挥关键作用。(随着技术的进步,网络安全和隐私在软件开发中的重要性将呈指数增长。(云计算将继续革新软件开发实践。

2023-12-18 12:38:02 27

原创 English OF SoftWare

6. API (Application Programming Interface) - 应用程序编程接口。26. IDE (Integrated Development Environment) - 集成开发环境。30. User Acceptance Testing (UAT) - 用户验收测试。27. Continuous Integration (CI) - 持续集成。23. User Experience (UX) - 用户体验。22. User Interface (UI) - 用户界面。

2023-12-17 23:22:28 22 1

原创 请花大概几天左右的时间,快速阅读完现代软件工程基础教材,列出你不懂的或者感兴趣的3-5个问题(或者更多)。并说说你提问题的原因?提供一些上下文或者资料或者事例来支持你的提问。

我想知道测试覆盖率是如何定义、计算的,以及如何使用测试覆盖率来评估测试的质量和效果。我希望能够了解到测试覆盖率的概念、计算方法和应用案例,并了解其在实际软件开发中的作用。我对于"模型驱动工程"的概念不太了解,我想知道这是一种什么样的软件工程方法,它与传统的软件开发方法有何不同,以及它的优缺点是什么。我希望能够了解代码质量的基本概念、评估方法和提高方法,并了解代码质量在软件开发中的作用和重要性。我对于软件架构的概念不太了解,我想知道软件架构是如何定义、描述的,以及它与软件设计和开发的关系。

2023-05-06 20:40:50 39

原创 我所了解测试工具。

Robot Framework是一个开源的测试自动化工具,主要用于Web、桌面和移动应用程序测试自动化。Appium是一个开源的移动应用程序测试工具,主要用于测试移动应用程序的功能和性能。Ranorex是一个商业的测试自动化工具,主要用于Web、桌面和移动应用程序测试自动化。TestComplete是一个商业的测试自动化工具,主要用于Web、桌面和移动应用程序测试自动化。Selenium可以用来测试Web应用程序的功能和性能,以及确保Web应用程序在不同的浏览器和操作系统中的兼容性。

2023-04-26 21:53:28 64

原创 1、说说你所了解过、使用过什么编程语言?比较它们的优势。2、以及你所使用过什么编程工具?

Python是一种模块化的、易于学习的、面向对象以及注重可读性的高级语言。查阅--------------------------------------:Python已经广泛地用于web和internet开发,并且有许多流行的框架,比如 Django、Pyramid、Flask和Bottle。intellij IEA,是編程Java语言的软件工具,运用流畅,有很多的快捷键便于编程,大大提高了编程效率,更好的是如果以上这些快捷键,你用起来不顺手,没关系,我们可以把默认的快捷键修改成自己想要的快捷键。

2023-04-24 21:10:28 79

原创 阅读了解什么是形式化方法?

形式化方法还可说是由形式规约语言(包括形式语义与模型理论)、形式规约(包括精化与综合)、形式验证、形式化工具等形成的一个整体.其中, 形式规约语言是基础, 形式化方法中, 软件制品是规约语言编写/变换的形式规约;形式验证是保证开发正确性的途径, 形式语义与模型理论是联接形式规约和形式验证的数学纽带。-----------------------------------------------------大象:Thinking in UML(第2版)

2023-04-24 20:03:50 53

原创 如何理解信息隐藏和局部化?

局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。局部化是指将软件系统分解成多个小的部分,每个部分都有明确的功能和接口,可以独立开发、测试、部署和维护。局部化则是将数据或问题划分成更小的部分进行处理或解决。信息隐藏 意味着软件的模块化可以通过定义一组独立的模块来实现,这些模块相互之间只进行实现软件功能所必须的通信。

2023-04-24 16:00:28 49

原创 衡量模块独立的定性标准是什么?用自己的话表达其含义?

这通常涉及到模块之间的耦合程度和内聚程度。如果一个模块具有高内聚和低耦合的特点,那么它很可能是独立的。而衡量模块独立的目的是为了提高软件系统的可维护性和可扩展性。在评估模块独立性时,通常需要考虑模块的功能、接口设计、数据结构和算法等因素。衡量模块独立的定性标准是指在软件开发中,评估一个模块是否独立于其他模块的一种方法。

2023-04-24 13:46:09 75

原创 什么是模块化,为什么要模块化?

模块化的主要目的是方便维护和管理,提高代码的复用性和可读性,降低代码的耦合度,从而更加易于扩展和调试。模块化还可以促进团队合作,提高开发效率和质量。模块化是指将一个复杂的系统分解成若干个互相独立的子系统,每个子系统都是一个相对独立的模块,具有独立的输入、输出和功能。

2023-04-24 13:43:28 144

原创 如果你要开发一个中小学生学习数学的软件,你应该找谁去做用户调研?

作为引路人,在教书育人事业上奉献多年,对于数学知识的传授以及教育学生的方法都有着其他人无法比拟的经验。他们在数学教育领域有着很深的建树,因为他们对这个领域已经做了很多年的研究,所以在这个方面他们也有着很大的话语权。有了他们的建议可以让我们的软件在开发的时候少走很多弯路,同时在投入应用的时候也会在一定程度上被大众所欢迎。针对的群体:中小学生。作为当事群体,他们的信息非常重要,了解他们对于数学学习软件的需求、兴趣和习惯,了解他们对软件功能的要求,以及他们对市面上的数学学习软件的评价和意见也是十分有必要的。

2023-04-24 13:24:04 33

原创 了解WBS?

同时也是控制项目变更的重要基础。创建WBS是把项目可交付成果和项目工作分解成较小的,更易于管理的组成部分的过程。项目范围是由WBS定义的,所以WBS也是一个项目的综合工具。WBS(Work Breakdown Structure),即工作分解结构,是以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。WBS是项目管理重要的专业术语之一,无论在项目管理实践中,还是在PMP,IPMP考试中,工作分解结构(WBS)都是最重要的内容之一。

2023-03-27 11:36:56 35

原创 什么是分而治之?

在软件工程的开发中,分而治之也有着极大的意义,和重要的地位,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或多个相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在软件开发过程中,想要开发出一个好的软件,符合客户理想的软件,那么我们每个部门都有属于自己的工作。计划,编写程序,调试,运行,合成...都是分而治之。在编译程序时,我们需要让程序给出自己需要的答案,用代码使其实现,我们这时会将程序写出多个小的结构,然后传参使其连接起来并运行,这也是分而治之。

2023-03-27 11:09:49 35

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

(4)总结:在软件设计时不可能做到全方面考虑,肯定会有部分影响因素有所疏漏,因而得到的无非比预估的多2~3倍的周期开发软件,这也就是我们软件开发的进度为什么总达不到我们的预期进度的原因!③同时还有开发者对软件开发成本和开发进度的估计不准确,实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年;软件开发的过程是一个充满不可预知的过程,计划永远赶不上变化,但是想要所有的不可见因素都考虑到位,那几乎是不可能的。②在软件开发进行时,而往往会忽略了预期之外的不可控因素出现;

2023-03-27 10:46:09 28

原创 查阅相关资料,什么是scrum中的3355?

所谓Scrum3355指的是:3个核心角色,3个工件,5个关键事件和5个价值观。(1)产品代办清单(Product BackIog)(2)Sprint迭代代办清单。(3)每日 Scrum 站会。(2)Sprint 计划会。(4)Sprint 评审会。(5)Sprint 回顾会。(3)潜在可发布产品增量。

2023-03-21 20:35:28 56

原创 什么是DevOps?

b/多机器问题,之前机器很少架构简单的时候,开发就可以干运维的活,就算加了几台服务器,那也是脚本将 JAR 包同时发布到这些机器上,好像也挺简单,但是会有两个人同时上线部署被覆盖的问题,最终效率低下。a/多人协同开发问题,人员一多,为了更好的分工,大多会将项目进行拆分,每个人负责专注于一部分,有点包干到户的感觉,敏捷开发的核心理念就是。DevOps 的三大支柱之中,即人(People)、流程(Process)和平台(Platform)人 + 流程 = 文化。平台 + 人 = 赋能。

2023-03-21 20:20:15 197

原创 软件工程方法论对我们经软件开发有多大用处?

学习软件工程方法论让我们可以系统的,科学的理论框架,吸收前⼈的经验,可以提⾼我们软件开发的速度和质量,同时也可以减少资金和人员的浪费。从各个方面更清楚地开发软件的方向。软件工程方法论:是由⾯向元数据的⽅法、⾯向过程的⽅法、⾯向对象的⽅法和形式化⽅法共同构成了软件⼯程⽅法论。软件工程的主要内容包括四个层次,工具、方法、过程以及软件的质量。

2023-03-16 09:30:48 24

原创 软件工程是不是教会不怎么会写程序的人开发软件?我的观点是:

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

2023-03-06 20:47:08 97 2

原创 对软件工程的希望和及个人目标

希望: 能理解给我们生活带来的软件的组成和奥义!个人目标: 做一个自己的软件(

2023-03-06 16:14:34 55

空空如也

空空如也

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

TA关注的人

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