
软件工程
文章平均质量分 74
软件工程学的存在价值:促进软件项目成功。“软件工程” ----Software Engineering是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。
Wlq0415
I wake up in morning and summarize
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
软件设计模式
旨在提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。它允许客户端代码在不需要了解具体实现的情况下,这个模式通常用于需要创建多个相关对象的场景,尤其是在产品族的情况下。(Abstract Factory):抽象工厂 - 定义创建产品对象的接口。(Concrete Factory):具体工厂 - 实现抽象工厂接口,负责创建具体的产品对象。(Abstract Product):抽象产品 - 定义产品的接口。(Product):具体产品 - 实现抽象产品接口的具体类。原创 2025-02-05 11:47:35 · 1451 阅读 · 0 评论 -
软件工程概述
软件需求规格说明书(SRS):需求开发的结果,作为开发基础的重要文档。是需求开发活动的产物,编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。SRS是软件开发过程中最重要的文档之一,对于任何规模和性质的软件项目都不应该缺少。严格定义(预先定义):基于所有需求预先定义、清晰交流和图形文字表达的假设。原型方法:迭代开发,涉及实际可参与的模型、合适的开发环境、反复验证,最终需求确定后按照严格方法执行。原创 2025-03-11 14:17:37 · 1007 阅读 · 0 评论 -
软考UML案例题
阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。某软件公司为知名制造企业开发一套网上销售系统,以增加销售的渠道和效率。在项目之初,项目组决定釆用面向对象的开发方法进行系统开发,并对系统的核心业务功能进行了分析,具体描述如下:注册用户通过商品信息页面在线浏览商品,将需要购买的商品添加进购物车内, 点击“结算”按钮后开始。用户在订单信息录入页面上选择,填写并确认收货人、收货地址和联系方式等信息。点击“提交订单”按钮后,并开始进行订单结算。需要在,用户也可以手工。原创 2025-05-22 00:32:50 · 364 阅读 · 0 评论 -
UML文档概述
两种形式.顺序图强调对象之间消息发送的时间序,合作图更强调对象之间的动态协作关系.状态图描述类的对象的动态行为,包含对象所有可能的状态,在每个状态下能够相应的事件,以及事件发生时的状态迁移与相应动作.活动图描述系统为完成某项功能而执行的操作序列,这些操作序列可以并发和同步.活动图中包含控制流和信息流.,它们描述软件实现系统的组成和分布状况.构件图描述软件实现系统中的各组成部件以及他们的依赖关系.部署图描述作为软件系统运行环境的硬件以及网络的物理体系结构,其节点表示实际的计算机和设备.原创 2025-02-06 10:36:46 · 1163 阅读 · 0 评论 -
软件架构复用
在开发过程中临时发现可复用资产(如代码、模块、工具),并立即复用。原创 2025-05-14 23:00:32 · 244 阅读 · 0 评论 -
软件的重用,逆向工程
逆向工程的完备性指的是在特定抽象层次上提供的信息的详细程度。通常情况下,抽象层次越高,提供的设计信息越少,即完备性越低。但是,开发团队发现原来的代码结构复杂,难以直接添加新功能。这时,可以使用逆向工程来恢复原来的设计信息。假设有一个已经上线的电商平台软件,但没有详细的开发文档。原创 2025-03-11 15:16:09 · 1260 阅读 · 0 评论 -
系统转换,系统维护
新系统和老系统并行工作一段时间,新系统经过试运行后再取代,若新系统在试运行过程中有问题,也不影响现有系统的运行,风险极小,在试运行过程中还可以比较新老系统的性能,适用于大型系统。:分期分批逐步转换,是直接和并行转换的集合,将大型系统分为多个子系统,依次试运行每个子系统,成熟一个子系统,就转换一个子系统。:现有系统被新系统直接取代了,风险很大,适用于新系统不复杂,或者现有系统已经不能使用的情况。:基于用户主动对软件提出更多的需求,修改软件,增加更多的功能,使其比之前的软件功能、性能更高,更加完善。原创 2025-03-11 14:44:21 · 329 阅读 · 0 评论 -
系统架构评估方法
ATAM 是一种更高级的评估方法,它不仅评估架构的优缺点,还深入分析设计决策之间的权衡。基于场景的架构分析方法(Scenarios-based Architecture Analysis Method)是一种用于软件架构评估的方法,旨在通过场景分析来识别和评估架构的质量属性。体系结构权衡分析方法(Architecture Trade off Analysis Method,ATAM)是在SAAM的基础上发展起来的,是一种系统架构评估方法,主要在系统开发之前。SAAM:简单评估整体架构,适合快速反馈。原创 2025-04-22 10:15:48 · 456 阅读 · 0 评论 -
软件设计方法(结构化和面向对象)
软件设计方法是软件开发过程中用于指导和规范开发活动的一系列规则和过程。它们帮助开发团队系统化地解决问题,确保软件的质量和可维护性主要包括结构化方法和面向对象方法。原创 2025-03-21 09:33:50 · 1037 阅读 · 0 评论 -
结构化方法和面向对象方法
抽象是指从众多的事物中抽取出共同的、本质性的特征,而忽略其非本质的细节。在 OOA 里,抽象表现为对对象类和对象的定义,仅关注与系统目标相关的关键特征和行为。原创 2025-04-15 13:59:02 · 875 阅读 · 0 评论 -
耦合类型与内聚类型
耦合和内聚是软件工程中衡量模块设计质量的两个重要指标。耦合描述的是模块之间的依赖关系,而内聚描述的是模块内部元素的关联程度。良好的设计应追求低耦合和高内聚。原创 2025-03-21 09:44:31 · 506 阅读 · 0 评论 -
面向对象类的分类
比如UserOrder。,比如。,比如LoginForm。就像是一个或。它代表了系统中需要存储和管理的核心数据,通常与业务领域直接相关。实体类对应需求中的具体事物,比如“用户”、“订单”、“产品”。就像在电商系统中,“订单”是一个实体类,记录了订单的详细信息。实体类的数据通常需要存储在数据库或其他永久存储体中。比如“用户”实体类会存储用户的姓名、邮箱、密码等信息。实体类通常用名词命名,比如UserOrderProduct。Book是一个实体类,表示书籍的信息(书名、作者、ISBN 等)。原创 2025-03-24 09:19:11 · 509 阅读 · 0 评论 -
面向对象的分析设计
详解从分析模型到设计模型的。1.设计用例实施方案。2.设计技术支撑方案。原创 2025-03-23 13:33:09 · 186 阅读 · 0 评论 -
需求管理,开发管理,配置管理
软件开发方法,软件项目管理,软件开发管理原创 2024-11-05 10:02:23 · 1083 阅读 · 0 评论 -
软件可靠性
区分软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效(Failure)概念是软件可靠性设计工作的基础。检查点回滚(Checkpoint-Rollback)、异常安全设计(如RAII)。:开发者在需求分析、设计、编码等阶段人为引入的失误(如逻辑错误、理解偏差)。静态分析(Coverity)、模型检测(SPIN)、符号执行(KLEE)。:缺陷可能潜伏(如未触发的边界条件),需通过测试或形式化方法发现。:运行时因缺陷被触发导致的异常内部状态(如变量越界、栈溢出)。:代码中未处理除零异常(原创 2025-03-25 09:52:32 · 211 阅读 · 0 评论 -
六大设计原则SOLID
单一职责原则(Single Responsibility Principle, SRP):开放封闭原则(Open-Closed Principle, OCP):里氏替换原则(Liskov Substitution Principle, LSP):依赖倒置原则(Dependency Inversion Principle, DIP):接口隔离原则(Interface Segregation Principle, ISP):迪米特法则(Law of Demeter, LOD):原创 2025-03-18 15:49:15 · 276 阅读 · 0 评论 -
软件项目管理十大知识领域
项目管理十大知识领域是项目管理知识体系(如PMBOK指南)的核心组成部分,它们共同构成了项目从启动到收尾的全过程管理框架。原创 2024-11-06 17:18:36 · 1310 阅读 · 0 评论 -
需求管理原则与CMM/CMMI模型
需求管理是软件工程中的核心活动之一,确保需求的正确性、完整性和一致性。CMM(能力成熟度模型)和CMMI(能力成熟度模型集成)是评估和改进组织软件开发过程能力的框架。原创 2025-03-21 10:18:03 · 951 阅读 · 0 评论 -
用户界面设计3条“黄金规则
用户界面设计的基本原则是从实践中总结出来的一些设计规则,TheoMandel在其界面设计著作中提出如下3条“黄金规则”。原创 2025-03-11 15:21:07 · 278 阅读 · 0 评论 -
软件系统工具
软件系统工具的分类及其详细说明,涵盖软件开发工具、软件维护工具、软件管理工具和关键支持工具四类工具原创 2025-03-21 11:27:10 · 949 阅读 · 0 评论 -
项目管理(进度管理、配置管理、质量管理、风险管理)
当附件的变动积累到一定程度时,配置项的Y值可适量增加,Y值增加一定程度时,X值将适量增加。”状态的配置项的版本号格式为X.YZ。参见上述规则(2)。”状态的配置项的版本号格式为X.Y,X为主版本号,取值范围为1~9。:一般是每隔一定时间(例如,每个阶段末)进行的,主要通过系统的质量审计(软件评审)和过程分析来保证项目的质量。软件项目往往是比较大而复杂的,往往需要进行层层分解,将大的任务分解成一个个的单一小任务进行处理。的风险,确定风险的来源、产生的条件、描述风险的特征以及哪些项目可以产生风险,形成一个。原创 2025-03-11 13:39:23 · 758 阅读 · 0 评论 -
软件测试概述
软件测试是确保软件质量的重要环节,通过系统的测试过程,可以发现并修复潜在的缺陷。测试的主要目标是验证软件是否符合需求规格,并确保其在各种条件下的稳定性和可靠性。软件测试分为多种类型,包括单元测试、集成测试、系统测试和验收测试等。每种测试类型都有其特定的目标和方法,能够从不同角度评估软件的性能和功能。随着敏捷开发和持续集成的兴起,自动化测试逐渐成为主流,能够提高测试效率和覆盖率。有效的软件测试不仅能降低维护成本,还能提升用户满意度,确保软件在市场上的竞争力。因此,软件测试在软件开发生命周期中扮演着至关重要的角原创 2024-09-29 15:03:58 · 2159 阅读 · 0 评论 -
软件项目质量管理工具
在软件项目管理中,质量管理是确保项目交付的软件产品满足用户需求和预期标准的关键环节。原创 2025-03-21 09:50:50 · 635 阅读 · 0 评论 -
软件工程-数据流图
软件工程数据流图(DFD)是一种用于表示系统中数据流动和处理过程的图形化工具。它通过图形符号展示系统的输入、输出、存储和处理,帮助开发者理解系统的功能和数据交互。DFD通常由四种基本元素构成:外部实体、数据流、处理过程和数据存储。外部实体表示系统外部的用户或其他系统,数据流表示信息的传递,处理过程描述数据的转换和操作,而数据存储则表示系统中存储的数据。通过构建DFD,团队可以清晰地识别系统需求,优化设计,并确保各个组件之间的有效沟通,从而提高软件开发的效率和质量。原创 2024-09-29 16:42:21 · 2658 阅读 · 0 评论 -
标准体系概述
国家标准:由国务院标准化行政主管部门制定,代号为“GB”或“GB/T”。行业标准:由各行业行政主管部门制定,代号为行业拼音缩写(如“HB”),推荐性标准加“/T”。地方标准:由省级标准化行政主管部门制定,代号为“DB”加行政区划代码,推荐性标准加“/T”。企业标准:由企业自行制定,代号为“Q/”加企业代号。原创 2025-03-20 17:13:12 · 395 阅读 · 0 评论 -
软件开发环境与集成
较完善的软件开发环境通常具有多种功能,例如,软件开发的一致性与完整性维护,配置管理及版本控制,数据的多种表示形式及其在不同形式之间的自动转换,信息的自动检索与更新,项目控制和管理,以及对开发方法学的支持。环境信息库是软件开发环境的核心,用以存储与系统开发有关的信息,并支持信息的交流与共享。软件开发环境应支持多种集成机制,例如,平台集成、数据集成、界面集成、控制集成和过程集成等。统一的、具有一致性的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。原创 2025-03-11 15:54:28 · 455 阅读 · 0 评论 -
MDA模型驱动开发
使用MDA: Model Driven Architecture模型驱动的软件开发方法,软件系统被表示为一组可以被自动转换为可执行代码的模型。CIM: Computation Independent Model 计算无关模型,PIM: Platform Independent model 平台无关模型,PSM: Platform Specific Model 平台相关模型,聚焦于系统环境与需求,不涉及系统内部结构与运作细节。聚焦于系统内部细节,不涉及实现系统的具体平台。聚焦于系统落实于具体特定平台的细节。原创 2024-11-04 13:02:06 · 279 阅读 · 0 评论 -
McCabe度量法
假设有向图中有向边数为m,节点数为n,则此有向图的环路复杂度为m-n+2。注意m和n代表的含义不能混淆,可以用一个最简单的环路来做特殊值记忆此公式,另外,针对一个程序流程图,每一个分支边(连线)就是一条有向边,每一条语句(语句框)就是一个顶点。指面向管理者和用户的属性,可直接测量,一般为性能指标。指软件产品本身的的属性,如可靠性等,只能间接测量。原创 2025-03-11 14:42:42 · 430 阅读 · 0 评论 -
AOE网的计算
因 AOE 网中的某些活动可以并行地进行,所以完成工程的最少时间是从开始顶点到结束顶点的最长路径长度,称从开始顶点到结束顶点的最长路径为关键路径(临界路径),关键路径上的活动为关键活动。在有向图中,若以顶点表示活动,弧表示活动之间的先后关系,这样的图简称为 AOV(Activity On Vertex)网;若以顶点表示事件,弧表示活动,权表示完成该活动所需的时间(称为活动历时或持续时间),这样的图称为 AOE(Activity On Edge)网。原创 2024-11-07 11:01:00 · 283 阅读 · 0 评论 -
项目活动进度计算题
③总时差TF:不影响总工期的前提下,本工作可利用的机动时间,即:不影响紧后工作最迟开始的前提下,本工作可利用的机动时间。⑥以终点节点为完成节点的工作,最迟完成时间LF=计划工期Tp,自由时差FF=总时差TF。④自由时差FF:不影响紧后工作最早开始时间的前提下,本工作可利用的机动时间。②最迟完成时间LF=min{紧后工作最迟开始时间LS}(紧后取小)FF=min{ES紧后工作} - EF{本工作}TF=LS{本工作} - ES{本工作}TF=LF{本工作} - EF{本工作}原创 2024-11-06 15:13:47 · 575 阅读 · 0 评论