![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
软件工程平时作业
期末交作业用
奶茶加香菜
这个作者很懒,什么都没留下…
展开
-
入学管理系统的顶层图和1层图
画出入学管理系统的顶层图和1层图。原创 2023-05-03 22:35:41 · 228 阅读 · 0 评论 -
软工平时作业ER图
一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型。原创 2023-05-03 17:38:09 · 157 阅读 · 0 评论 -
问答作业:模块化和信息隐藏
答:模块化是指将一个软件系统分解为相对独立的模块或组件,每个模块或组件拥有明确定义的接口和功能,这样可以简化软件的设计、开发、维护和测试。模块化设计有加快项目开发进程、合理安排工作计划、减少debug工作量、减少项目编译时间等作用,而且也为制作同类型项目积累了一大笔宝贵的财富。一旦遇到相同类型项目,将可重用模块copy即可节约大量时间,比如说登录模块,个人中心模块等,只要修改少量代码即可实现项目目标,节约大量时间。原创 2023-05-03 13:52:57 · 213 阅读 · 0 评论 -
说说你了解过、使用过什么编程工具?
功能强大,界面友好,可以导入各种第三方包,链接语言所使用库,还可以下载某些插件,比如image watch来查看图片像素和坐标。调试方便,无需键入变量名称便可查看其动态变化,对C++语言内存泄漏问题有严谨的检查机制,但也因此,某些正确代码没法在此运行。界面友好,功能强大,能通过快捷键为java中数据成员构建get、set成员函数,导入api包等。界面友好,功能强大,编写python程序,设置python运行环境方便。功能强大,扩展众多,多语言使用,较为复杂。初学者使用,功能简单,可以调试。原创 2023-05-02 23:44:15 · 106 阅读 · 0 评论 -
说说你了解过、使用过什么编程语言?比较他们的优势
1.语法简单,运行快速,功能强大稳定。C++是C的扩展,前者比后者多了类这一面向过程数据结构,相比于C中结构体定义,类还能封装方法,提高代码复用性。是解释型语言,语法格式鲜明,相关工具多,导入简单,是一种基于C/C++上开发的语言。面向对象的跨平台运行语言,可以无视设备差异,通过虚拟机对字节码文件解释执行。构件多,使用方便,无需考虑对内存的回收释放。语法简单,还能构造存储结构,能与其他高级语言结合使用。底层语言,面向机器编程,高级语言需要装换为汇编语言,再转换为机器语言,计算机才能运行。原创 2023-05-02 23:41:18 · 79 阅读 · 0 评论 -
为什么软件工程开发方法论让你觉得糟糕?
答:软件工程方法论提升了软件开发的规范性,让软件开发中的活动、任务的定义更加明确,管理起来也更加容易,从而有助于提升软件产品的质量。但是,影响最终软件产品质量的因素还包括软件过程本身的质量、团队人员对过程的理解和应用的程度以及软件工程实践的总体情况。软件工程开发方法论为实现团队人员对过程理解和应用的程度提高,会产生一系列附加文档以及稳定规范,增加额外工作量,延长软件产品交付时间。为什么软件工程开发方法论让你觉得糟糕?原创 2023-05-02 22:44:28 · 54 阅读 · 0 评论 -
软件工程作业
(3)自下而上法:适用于尚未形成结构化产品概念的项目,强调从功能点入手进行三步走:①进行发散性思维。答:把一个复杂的问题分解成等价的若干个小问题,将小问题的解合成大问题的解,即分治法。答:因为开发计划初期不能完全考虑到具体开发中的问题,每出现一个新的未知问题都需要花费计划时未预估到的时间去解决。(2)自上而下法:从项目的整体目标开始,按阶段或功能规划几大块,然后再逐层分解,建议纵横不超过7层。(1)模板法:参照现成的WBS模板,替换成自己项目的模块,适用于规模化的开发。问:什么是分而治之?原创 2023-05-02 22:10:53 · 39 阅读 · 0 评论 -
极限编程及结对编程
结对编程采用两人一组,两人共同使用同一个键盘和显示器,在同一工作空间中进行开发。两人的工作方式类似赛车中的驾驶员和领航员,共同开展同一项开发任务。结对编程要求两个开发人员客观上水平相当,主观上保持积极参与的心态,相互配合,从而高质量地完成编码任务,避免由于思考不周或编码手误而导致的缺陷。结对编程是极限编程的最内层实践。原创 2023-04-28 21:16:27 · 390 阅读 · 0 评论 -
scrum中的3355
产品负责人负责产品的投资回报,定义产品特性,决定发布日期和内容,还要根据市场价值对产品特性进行优先级排序,从而决定每次迭代完成哪些特性。专业的敏捷开发教练,确保整个团队的正常运作和产出,确保团队内各个角色和能力的紧密协同,并且扫除任何障碍,需要保护开发团队避免外部干扰。通过冲刺计划会议制定的一次迭代中需要完成的功能列表,并且在每次迭代后通过演进式开发调整下次迭代需要完成的功能。所有待开发产品功能的列表,通常是由产品负责人与团队成员一起写下来的,随着开发的不断进行而调整和扩充。一个冲刺对应一个迭代。原创 2023-04-27 22:16:33 · 64 阅读 · 0 评论 -
什么是DevOps?
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。开发运维一体化将敏捷的精神延伸到运维阶段,实现了软件开发和运维实践的贯穿。解决开发和运维天生对立的问题,简化工作流程,快速适应市场变化。DevOps是贯穿软件开发和软件运维的一系列实践的集合。自带有敏捷方法和精益思想印记。原创 2023-04-20 06:30:00 · 67 阅读 · 0 评论 -
软件工程方法论对软件开发有多大用处?谈谈你的看法
确定软件开发的工具,即为运用软件开发方法而提供的自动或半自动的软件工程支撑环境,可以确定软件开发的可行性,确定软件开发的技术栈,提高软件开发人员的工作效率。确定以上三项后,使得软件开发细分为许多小事件,整个过程容易完成,各个阶段目标具有可预见性,节约资源的调配。为软件开发确定好的方法,可避免开发过程中不必要的工作,提高软件开发效率,制定正确的软件开发预案。软件工程方法论包括方法、工具、软件过程。软件过程是软件开发的一系列任务及其框架。原创 2023-04-19 15:41:21 · 94 阅读 · 1 评论 -
软件开发过程变迁史
20世纪50年代:软件开发与计算机硬件生产和调试集成在一起。仅仅在硬件工程中加入了编码、测试等相关的软件开发活动。20世纪60年代:开发人员逐渐意识到软件易于修改、容易复制产生新副本等不同于硬件的特点,开始采用特定的方法开发软件,形成软件工艺的概念。典型的开发方法是编程加修复。20世纪80-90年代:研究人员提出“软件过程等重要的概念也是软件”,揭示了开发优秀软件过程重要性,引入了过程需求、过程架构、过程变更等概念。1991年CMU SEI研发了一系列评估软件开发能力成熟度的方法框架CM原创 2023-04-19 11:48:34 · 694 阅读 · 1 评论 -
软件工程是不是教会不怎么会写程序的人开发软件?你的观点?
计算机诞生于战争时期,最初的程序员需要对所使用硬件十分了解。因为当时的计算机简陋,程序员使用01进行编码,即机器代码。程序的工作量庞大,效率低下,还容易出错。随着技术的发展,计算机的功能越来越强大,原本用机器代码进行编码的方式显然不合适。渐渐的,这些抽象越来越复杂,所以怎么做出标准的抽象也是一件很重要的事。同时,这些抽象也渐渐摆脱了对硬件的依赖,成为了独立的软件工程。由此可知,软件工程是程序员编写程序的活动的集合,教会不怎么会写程序的人写程序是学习软件工程的一部分。原创 2023-04-17 23:09:46 · 74 阅读 · 1 评论 -
对软件工程课程的flag
flag原创 2023-03-19 16:44:45 · 48 阅读 · 0 评论