软件工程课程作业
软件工程作业归类
橙子黄桃味
这个作者很懒,什么都没留下…
展开
-
软件工程期末总结
这次考试中大部分内容都与面向对象有关,但仍有复习不到位的地方,例如图的概念画法,需要在课后加深对这方面知识点的复习以便java面向对象程序设计和数据库原理更好的学习。这次软件工程期末考试重点考察了面向对象与面向过程方面的知识点,充分体现在简答题与应用题部分。1.面向对象与面向过程的基础概念。原创 2023-05-18 11:12:02 · 72 阅读 · 0 评论 -
什么是分而治之
所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。基本思想:为了解决一个大问题,把问题分解成多个较小的问题来解决,把小问题的解答组合起来则得到原问题的解。原创 2023-04-09 18:32:35 · 50 阅读 · 0 评论 -
请列举你所了解的测试工具
1,jenkins 一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。1,appscan,算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来。2,jmeter 基于java平台的性能开源测试工具,其实也很强大,而且比较好用。2,instruments ios平台下的自动化测试框架,用java语言写的。1,loadrunner,大而全,要学精通还是有点难度,重量级工具。1,qtp (录制回放和脚本编辑),用到的是vb语言。3,Quality Center(复杂,收费)原创 2023-04-19 11:06:15 · 211 阅读 · 0 评论 -
初识现代软件工程基础
初读目录,软件过程与软件体系结构等部分是我略为生疏的部分,通过详细阅读教材,我了解到软件过程是一系列开发活动,具有瀑布模型,增量模型,演化模型,统一过程模型等软件过程模型,它表达了软件过程的结构框架,每种模型都有其独特的思想特点,但是模型并不是都很完美的,每种模型都存在着优缺点,对此我的疑问是是否能有一种完美的模型解决大部分模型存在的问题,整合利用将软件利用最大化?开发实践是否能一体实现?后来通过具体阅读我从书中发现没有绝对完美的模型产生,只能尽可能的取其优点,同时开发运维一体化已经能通过DevOps实现。原创 2023-03-06 14:53:58 · 76 阅读 · 0 评论 -
什么是DevOps
DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障部门之间的沟通、协作与整合。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。devops概念提出具有单体架构➕瀑布模式,分布式架构➕敏捷开发模式,随着业务体量发展越来越大,需要加机器,即涉及到多人协同开发,多人多机器模式。最初定义的DevOps指的开发运维一体化,现在的DevOps已经扩大到端到端的概念,DevOps=人➕流程➕平台。原创 2023-03-20 18:55:50 · 108 阅读 · 0 评论 -
可否直接继承长方形
违反里氏替换原则,只有符合"is a"关系时才能使用继承,子类要保证能够完全代替父类出现在父类可以出现的任何地方,所以子类的实现一定是要在继承父类所有方法的前提下进行自我拓展,子类的拓展条件是要比父类的拓展条件更为宽松的,然而长方形明明只有长和宽相等时才是正方形,所以正方形作为子类并没有更宽松的拓展条件,并不能出现在长方形可以出现的所有地方。我们需要一个新的类,正方形。假如我们有一个类:长方形。问:可否直接继承长方形。原创 2023-04-17 16:37:20 · 49 阅读 · 0 评论 -
编程语言及编程工具
结构化编程语言,层次清晰,可以嵌入编程,可以跟硬件打交道,作底层开发。C++:C++是在C语言的基础上开发的面向对象编程的语言,应用广泛;C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程,还有大量的库。JAVA:Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。易学,强制面向对象,分布式,接口统一,安全性高。Python:是一种面向对象、解释型计算机程序设计语言,简单易学,速度快,免费开源,可移植性高,丰富的库。说说你了解过,使用过什么编程语言?说说你了解过,使用过什么编程软件。原创 2023-04-17 16:57:14 · 98 阅读 · 0 评论 -
理解结对编程
一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。结对编程主要是一个相互配合的过程,不同的人产生不同的思维容易对程序设计产生新的看法,能够达到事半功倍的工作效果,同时也可以容易发现解决程序设计中产生的错误问题并能得到及时的更正修改,他也可以促进程序员自身水平的提升进步,二人互相学习,取长补短,能够互相学到新的东西知识,提高团队协作能力。但同时存在缺点,若程序员二者之间水平差距过大,往往容易产生意见分歧以及效率低下的问题。原创 2023-03-20 19:10:53 · 37 阅读 · 0 评论 -
衡量模块独立的定性标准是什么?用自己的话表达其含义
内聚:内聚是衡量一个模块内部各个元素彼此结合的紧密程度,理想内聚只做一件事,以高内聚为目标。耦合:耦合衡量不同模块彼此间互相依赖的紧密程度,它是对软件结构里不同模块间的连接程度的判断。原创 2023-04-10 19:50:53 · 51 阅读 · 0 评论 -
画出入学管理系统的顶层图和0层图
1、报名:由报名处负责,需要在学员登记表上进行报名登记,需要查询课程表让学员选报课程,学员所报课程将记录到学员选课表。2、交费:由收费处负责,需要根据学员所报课程的收费标准进行收费,然后在账目表上记账,并打印收款收据给办理交费的学员。3、就读:由培训处负责,其在验证学员收款收据后,根据学员所报课程将学员安排到合适班级就读。画出入学管理系统的顶层图和0层图。原创 2023-04-10 15:37:00 · 125 阅读 · 0 评论 -
软件工程是不是教会不怎么会写程序的人开发软件?
软件工程的要点不仅是程序,同时需要自己独特的见解,思想以及对编程的详细理解等等才能编写出一款具体软件,他的独特之处在于创造力而不仅仅是会写程序就可以,所以我们自身的学习能力比课程所传授的知识更重要。同时,开发软件是一件很困难的事情,他依靠的不仅是一个人的力量,更多的是团队合作的力量,需要彼此之间不断配合,但是团队中的人都需要拥有一定的编程理论,否则会难以进行概念上的沟通,开发一个软件可能需要多种编程语言以及算法知识,这是我们需要不断学习的。原创 2023-03-20 15:41:03 · 57 阅读 · 0 评论 -
什么是模块化?为什么要模块化
摸一个模块出现问题只需要对出问题的模块进行维护或者更新,不需要对整个项目文件进行.多人协作互不干扰,方便模块间组合,分解。1.模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。2. 编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块。类似于js中的函数封装,可以反复使用.按需加载就是根据需要去加载资源。- 模块化提高了代码的可维护性。- 模块化提高了代码的复用性。- 模块化可以实现按需加载。原创 2023-04-10 15:58:20 · 219 阅读 · 0 评论 -
了解WBS
WBS是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。WBS以可交付成果为导向,对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。1、将主体目标逐步细化分解,最底层的日常活动可直接分派到个人去完成;2、每个任务原则上要求分解到不能再细分为止;原创 2023-04-09 18:50:26 · 46 阅读 · 0 评论 -
如果你要开发一个中小学生学习数学的软件,你应该找谁去做用户调研?
3,老师,教育行业,老师的存在至关重要,学习数学软件的使用者不仅有学生,同时也有老师,老师可以利用软件进行教案的设计,作业的布置,所以老师也是调研的对象之一。1,家长,大部分中小学生并没有属于自己的手机同时在习惯养成阶段学习往往需要家长的督促,所以家长的支持格外重要,因此需要家长去做用户调研。2,学生,软件的使用者大部分为学生,需要根据学生的需要,运用具体进行软件的设计,开发。原创 2023-04-10 15:48:57 · 65 阅读 · 0 评论 -
新学期flag
作为00一代,我们的成长伴随着互联网的高速发展,软件是我们生活中不可缺少的一部分。通过软件工程课程的学习,我希望可以能够充分认识到软件的构成,开发和使用,逐步探索软件知识,不断努力学习尝试自己是否能够开发出一款小软件。原创 2023-03-20 15:10:19 · 38 阅读 · 0 评论 -
软件工程方法论对我们经软件开发有多大用处
我认为软件工程方法论对我们软件开发具有巨大作用,软件工程方法论不仅是指导软件开发项目整个生命周期的纲领性文件,而且提供了一系列的方法以帮助软件开发项目的顺利完成;他为软件的具体开发奠定了基础,对人员以及时间安排有着具体规划,他能把一件大的事情分解成小的事情,同时也能把小的事情串联成大的事情,充分提高了软件的开发效率以及时间的利用率,他为我们将理论知识转化为具体实践操作指出了一条明路。对于初学者而言,软件工程方法论的出现为我们今后的学习提供了框架,以便于我们对此科目能有更好的探索。原创 2023-03-20 15:59:12 · 56 阅读 · 0 评论 -
如何理解信息隐藏和局部化,用自己的话或者例子表达其含义
信息隐藏:信息隐藏是指将秘密信息隐藏于可公开的媒体信息中,使人们凭直观的视觉和听觉难以察觉其存在的技术。在设计和确定模块时,模块内包含的信息对不需要这些模块的信息来说是不能访问的,每个模块仅交换需要的信息,从而避免错误的传播,例如,在计算模块时往往会隐藏具体的公式,只需要输入所需的数据即可得到答案。局部化:把一些关系密切的软件元素物理地放得彼此很近。局部化有利于信息隐蔽,因为不同模块之间的紧密联系被限制在局部范围内,避免了系统中不必要的耦合和依赖。在模块中使用局部化数据元素就是局部化的一个例子。原创 2023-04-17 15:52:15 · 53 阅读 · 0 评论 -
为什么软件开发周期总是预估的2~3倍
3、项目成员问题,团队合作也是项目完成的重要因素之一,由于团队的合作能力以及团队成员自身的能力参差不齐可能会导致项目完成的时间延后。2、项目难度过大,部分项目只有实际完成时才知道需要投用的时间,项目制作花费大量时间,超过预期。1、前期沟通没有到位,设计成果可能与顾客期望不同,后期修改需要大量时间。原创 2023-04-09 18:22:39 · 45 阅读 · 0 评论 -
软件改变世界
在这个高速发展的信息化时代,软件无处不在,从人们每日必须的一日三餐到日常的办公学习,我们的世界正在被每一行代码影响着,例如美团饿了么等餐饮软件的出现改变了传统餐饮业,人们足不出户即可享受各种各样的美食,同时也促进了新的岗位的产生,生活中一身黄衣蓝衣的外卖小哥无处不在。作为一个学生,我们的教育也在被软件改变,例如疫情期间,老师学生无法到校正常上课,但是我们可以利用新型出现的学习软件例如钉钉,腾讯会议进行线上学习,同时我们也可以利用软件如b站,大学生慕课自主学习一些课程,拓展自己的知识面,使教育知识不再局限于单原创 2023-03-05 13:07:56 · 87 阅读 · 0 评论