
软件工程与计算
文章平均质量分 89
《软件工程与计算》核心提纲整理总结
Lyric群青
脱胎换骨并非在一瞬间实现,生命原是一次又一次的试探
展开
-
软件工程与计算总结(二十三)软件工程职业基础
本系列最后一更,《软计》系列总结的大结局!本栏目告一段落,之后会结合真题和练习题再发布新的总结~原创 2023-10-20 16:37:20 · 409 阅读 · 0 评论 -
软件工程与计算总结(二十二)软件开发过程模型
并提供有效的过程定制手段~2.描述模型概述:横轴以时间来组织,是过程展开的生命周期特征,体现开发过程的动态结构;纵轴以内容来组织,是自然的逻辑活动,体现开发过程的静态结构。原创 2023-10-20 15:55:31 · 773 阅读 · 0 评论 -
软件工程与计算总结(二十一)软件维护与演化
分析目标系统,标识系统的部件及其相互关系,并且使用其形式或者更高层的抽象创建系统表现的过程——基本原理是抽取软件系统的需求与设计而隐藏实现细节,然后再需求与设计的层次上描述软件系统,以建立对系统更加准确和清晰的理解~因为软件不存在“磨损”的情况,所以与其他工程学科相比,软件维护只需要完成少量的使用帮助、故障解决等工作——但并不意味着维护是简单的工作,相反,人们需要经常修改软件~逆向工程的猪獒关注点是理解软件,但并不修改软件——再工程恰恰相反,它主要关注如何修改软件,不会花费很大力气理解软件。原创 2023-10-19 20:57:42 · 261 阅读 · 0 评论 -
软件工程与计算总结(二十)软件交付
软件交付是软件项目的结束阶段 ,标志着软件开发任务的完成——其作为一个分水岭,区分了软件开发与软件维护两个既连续又不同的软件产品生存状态~在经历连续的辛苦工作之后,开发人员在胜利曙光之前难免会忽视软件交付阶段的一些工作——在准备庆功之余,原创 2023-10-19 14:27:05 · 722 阅读 · 0 评论 -
软件工程与计算总结(十九)软件测试
状态转换:专门针对复杂测试对象的测试技术,该类复杂测试对象输入数据反应是多样的,还需要依赖自身的状态才能决定,如果测试对象的状态不同,那么即使输入数据是一样的,输出也会有所不同~前两者更加关注技术上的正确性,重在发现设计缺陷和代码缺陷,系统测试更关注不符合需求的缺陷和需求自身的内在缺陷~与黑盒不同,将测试对象看做透明的,不关心测试对象的规格,而根据对象内部的程序结构来设计测试用例进行测试工作~但并不是最优的测试技术,有时可以发现其他技术不能发现的缺陷,但其测试到缺陷的几率却比其他技术要小的多~原创 2023-10-18 23:19:48 · 348 阅读 · 0 评论 -
软件工程与计算总结(十八)代码设计
目标,编写高质量的代码,本章节只介绍在易读性、易维护性和可靠性方面的最基本的代码设计方法~原创 2023-10-18 10:34:20 · 175 阅读 · 0 评论 -
软件工程与计算总结(十七)软件构造
软件构造是以编程为主的活动,类似于软件实现。但软件构造又不止编程这么简单,除了核心的编程任务之外,还设计详细设计(数据结构与算法设计)、单元测试、集成与集成测试以及其他活动~原创 2023-10-17 15:02:50 · 874 阅读 · 0 评论 -
软件工程与计算总结(十六)详细设计的设计模式
每个模式都不是独立的,大量设计模式互相关联,形成一种生产性语言,即大量设计模式组合在一起,能够相互配合完成高质量的设计~(目前的设计模式还没有达到这种程度)原创 2023-10-17 09:35:44 · 514 阅读 · 0 评论 -
软件工程与计算总结(十五)详细设计中面向对象方法下的信息隐藏
按照信息隐藏思想,类要封装潜在的变更,但是实践经验表面,仅仅封装变更是不够的,还需要使用多态或者DIP的方法实现符合OCP的变更,以减少变更带来的幅面影响~如果在软件开发时未能预计到变更的发生,那么在维护阶段遇到变更时可以使用多态手段,保证OCP满足~原创 2023-10-16 23:04:20 · 530 阅读 · 0 评论 -
软件工程与计算(十四)详细设计中面向对象方法下的模块化
在几种访问耦合关系中,隐式访问时需要避免的,例外情况是使用标准库时允许出现级联访问,实现访问是可以接受的,也是必要的,毕竟不可能将所有使用的其他类都作为成员变量或者写为方法的参数~在方法调用方面,两个类的方法之间存在的耦合关系与结构化方法基本一致:数据耦合是最好的,内容耦合、重复耦合和公共耦合是不允许的,控制耦合与印记耦合是可以接受的~访问的次数多,则耦合强,访问的次数少,则耦合相对弱~类的内聚主要是衡量类的成员变量和方法之间的内聚,简单地说,类既应该是信息内聚的,又应该是功能内聚的~原创 2023-10-16 14:51:48 · 561 阅读 · 0 评论 -
软件工程与计算总结(十三)详细设计中的模块化与信息隐藏
在上述各种内聚类型中,功能内聚和信息内聚是最好的两种,而且这两者的出发点不同,一个完全以功能(行为)为依据进行模块分解,一个以数据与功能间的相互支撑为依据进行模块分解,不可相互比较。一般而言,函数与过程应该是功能内的(信息内不适用于函数与过程),模块应该是信息内聚或功能内聚的,面向对象方法中的类应该是信息内聚与功能内聚兼顾的。软件的变更是不可避免的,复用则是人们在实践中提高软件生产效率最好的方式之一,因此我们在设计过程中不得不考虑以上提到的软件质量特性,以使我们的软件成为好的软件~原创 2023-10-15 14:53:15 · 670 阅读 · 0 评论 -
软件工程与计算总结(十二)详细设计的基础
详细设计在体系结构设计之后进行,以需求开发的结果(需求规格说明和需求分析文档)和软件体系结构的结果(软件体系结构设计方案与原型)为出发点~体系结构设计主要关注的是高层设计,即给予反映高层抽象的构建层次;而详细设计一般进行中层设计和底层设计,更关注组成模块的内部结构及模块和类的内部。原创 2023-10-15 10:58:21 · 283 阅读 · 0 评论 -
软件工程与计算总结(十一)人机交互设计
无论软件功能多么出色,亦或内部的构造有多么高的质量,没有好的用户界面,用户就无法充分体会软件产品的价值~原创 2023-10-14 20:15:52 · 908 阅读 · 0 评论 -
软件工程与计算总结(十)软件体系结构设计与构建
定义构件之间的接口,这是进行软件体系结构文档化和交流的必要手段包和文件定义之后,我们可以着力开始定义构件之间的接口~原创 2023-10-13 15:47:07 · 667 阅读 · 0 评论 -
软件工程与计算总结(九)软件体系结构基础
软件体系结构=部件+连接件+配置部件:是软件体系结构的基本组成单位之一,承载系统的主要功能,包括处理与数据连接件:定义了部件之间的交互,是链接的抽象表示配置:对形式的发展,定义了部件以及连接件之间的关联方式,他们组织成系统的总体结构。原创 2023-10-12 09:31:08 · 1038 阅读 · 0 评论 -
软件工程与计算总结(八)软件设计基础
对于软件设计来说,工程设计和艺术设计都很重要:一方面软件设计要从工程师的视角出发,使用系统化方法构建软件的内部结构,进行这种的设计决策,生产队用户有用的产品;软件设计是关于对象的设计,是一种设计活动,自然具有设计的普遍特性,软件设计既指软件对象实现的规格说明,也指产生这个规格说明的过程~软件设计是问题求解和决策的过程,问题空间是用户需求和项目约束,解空间是软件设计方案,从问题空间到解空间的转换是一个跳跃性的过程,需要发挥设计师的创造性,设计师跳跃性地建立解决方案的过程被称为决策~原创 2023-10-11 10:46:46 · 418 阅读 · 1 评论 -
软件工程与计算总结(七)需求文档化与验证
在软件开发过程中,任务可以分解为多个自任务分配给不同的人员,但是分解的子任务之间需要沟通和交流,子任务与人员之间存在着错综复杂的关系所以软件系统开发中需要编写多种不同类型的文档,每种文档都针对项目中需要进行广泛交流的内容。,以用例的文档描述为主组织需求的文档化,基本职责是把问题域信息和需求传达给软件系统解决方案的设计者,它的书写方法和内容精确度不同于软件规格说明文档~评审是需求验证与确认的主要方法~软件需求师项目中需要进行广泛交流的内容之一,所以需求开发阶段需要进行需求的文档化~设置与场景有关的输入输出~原创 2023-10-10 23:53:00 · 960 阅读 · 0 评论 -
软件工程与计算总结(六)需求分析方法
模型是对事物的抽象,帮助人们在创建一个事物之前有更好的理解~原创 2023-10-09 13:25:35 · 1024 阅读 · 0 评论 -
软件工程与计算总结(五)软件需求基础
3个主要任务:需求工程必须说明软件系统将被应用的环境及其目标,说明用来达到这些目标软件的功能,即同时要说明软件“需要做什么”和“为什么需要做”~需求工程必须将目标和功能反映到软件系统当中,映射为可行的软件,并对软件行为进行准确的规格说明现实世界时不断变化的世界,因此需求工程还需妥善处理目标和功能随着岁见演化的变动情况。原创 2023-10-07 12:55:19 · 710 阅读 · 0 评论 -
软件工程与计算总结(四)项目管理基础
配置管理的定义:用技术的和管理的指导和监督方法,来标识和说明配置项的功能和物理特征,控制对这些特征的变更,记录和报告变更处理及其实现状态,并验证与需求规格的一致性~,以有效地安排和控制这些活动,保证所有重要的工作都能得到应有的关注,都能顺利的完成,产生高质量道德软件产品~,计划的重要内容包括:项目需要的资源、项目中需要执行的活动、以及项目中需要产生的交付制品。由于软件开发过程是不可见的,且越晚发现缺陷,修复的代价越高,因此软件质量的保障活动要。高凝聚力的胶冻团队不是一天形成的,需要长期的团队建设~原创 2023-10-05 10:35:27 · 565 阅读 · 0 评论 -
软件工程与计算总结(三)示例项目描述
首先是随着商店规模的扩大,顾客量大幅增长,手工作业销售迟缓,顾客购物排队现象严重,导致流失客源。其次是商店的商品品种增多,无法准确掌握库存,商品积压、缺货和报废的现象明显上升。收银员每天的工作都很忙,高峰期的时候每位收银员都有顾客排队(4~8人)。工作相对比较轻松,只有在商品人库的时候比较忙,因为人库时的检查过程比较烦琐。强烈支持新系统,希望通过新系统加强业务管理,使商店的利润提升一个水平。经过细致的沟通,将总经理使用MSCS进行工作的概要过程设计如下。认为新系统会增加自己的工作负担,不太支持新系统。原创 2023-10-04 22:38:40 · 757 阅读 · 2 评论 -
软件工程与计算总结(二)软件工程的发展
本章开始介绍第二节内容,主要是一些历史性的东西~原创 2023-10-03 22:22:08 · 818 阅读 · 0 评论 -
软件工程与计算总结(一)软件工程基础
简单理解:生产软件的工程学标准定义:应用系统的、规范的、可量化的方法来开发、运行和维护软件,即将工程应用到软件。原创 2023-10-01 21:24:10 · 708 阅读 · 0 评论