软件工程

<软件工程>课程总结

耗尽温柔 提交于 2020-03-15 03:15:32
“软件工程引论”这门课程尽管没有教授我们具体的算法和编程语言,但是从全面的角度培养了我们如何书写代码并且和团队成员共同完成编程任务的能力。在这学期初,我曾多次听说过“软件工程”这个名词,却始终不了解其深刻含义:什么叫软件?程序、软件、软件工程三者的关系又是如何?然而经过了几节课的学习之后,我拨云见日,从理论上认识了这些基本概念,对这些名词更深入的体会可能需要来源于丰富的实践。后来我们学习了开发流程(包括最基本的瀑布模型)和目前比较流行的敏捷软件开放。实话说,刚开始接触到这些新知识的时候我感觉不足为奇,但是后来随着课程的深入加上自己在团队项目开发中的实践,我逐渐地体会到了这些开发流程、模型和原则的重要性。当然,我们目前所开发的软件规模实在是小得可怜,如果今后有机会从事较大型的软件开发工作,我相信我会对这些理论知识有更入骨的体会,能够结合实例来分析这些流程各自所具有的优点和劣势。还有一点给我比较强烈的震撼是,之前我天真地以为程序猿坐在电脑前反复编写代码和调试代码是开发软件的绝大部分活动。学习之后,我才意识到需求分析、架构设计、详细设计、系统测试扮演着同样重要的地位,软件维护也占据着软件开发中不少的时间和金钱开销。一个比较失败的需求分析可能会使程序员辛辛苦苦、呕心沥血编写的代码毫无意义。这一点我在之前从未重视过,现在发觉大学期间我完成的课程设计可能存在这样的问题

构建之法阅读笔记01

江枫思渺然 提交于 2020-03-14 15:24:27
第一章中主要是讲述了几个概念:软件 = 程序 + 软件工程 软件工程可以定义为: 把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程;软件工程包括一下领域:源代码管理+需求分析+程序设计+软件构建+软件测试+软件维护+生命周期管理等,广泛意义的软件工程,还包括用户体验、用户界面设计(UID)等; 软件工程决定了软件质量。 来源: https://www.cnblogs.com/1234yyf/p/12491941.html

2020软件工程作业02

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-14 12:43:14
软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10458 这个作业目标 Python的5月学习计划 作业正文 本文章 其他文献参考 https://www.cnblogs.com/coffees/p/9963557.html https://blog.csdn.net/whczbk/article/details/94393697 来源: https://www.cnblogs.com/xiehezhou/p/12491316.html

面向对象方法及软件工程——团队答辩

天大地大妈咪最大 提交于 2020-03-14 03:43:52
一、团队信息   1700802109 陈宁宁 https://home.cnblogs.com/u/alwaysni/   1700802088 韩晓忠 https://home.cnblogs.com/u/hanx/   1700802110 余金炜 https://home.cnblogs.com/u/YU2364565456/   1700802045 冶青俊 https://home.cnblogs.com/u/jun3011/ 二、团队项目的总体效果图                三、开发项目过程的博客链接    面向对象与软件工程——团队作业1    面向对象及软件工程——团队作业2    面向对象及软件工程——团队作业3 四、实现的功能及其效果的描述    1.登录注册功能 :用户可以进行注册、登录。由于使用微信小程序云开发自带的数据库,数据库自身的读写权限有所限制,并且没有通过云函数对数据库实现增删改查,会导致不同微信号下,可以使用相同的用户名或密码,进行注册、登录。但是信息是各自分离的。简单来说,你登陆的账号,必须要在你的微信号下注册(由于_openid的限制,数据访问的权限,没用云函数进行数据库的读写)。   2.登录之后修改信息功能:用户登录之后,可以完善、修改个人信息。包括密码、姓名、性别、学校、备注。   3.发布活动功能:用户登录之后可以发布活动

2020软件工程作业02

泄露秘密 提交于 2020-03-13 23:01:40
软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10458 作业目标 用思维导图画出想要学习技术的学习路线图 作业正文 见下文 参考文献 百度,博客园 来源: https://www.cnblogs.com/zerochen233/p/12488495.html

自我介绍+软工5问

大兔子大兔子 提交于 2020-03-13 09:40:00
自我介绍: 我是18级软件工程1班的张方俊,爱好篮球、文学类、页面设计 软工5问: 1.软件工程是什么样的一门课? 2.如何更好的学习软件工程? 3.编程基础不太好的同学如何学好这门课程? 4.如何提高开发软件的效率? 5.如何优化自身的代码? 来源: https://www.cnblogs.com/fangxiao-99/p/12484400.html

2020软件工程作业02

会有一股神秘感。 提交于 2020-03-13 09:38:08
软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1?page=7 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10458 这个作业的目标 学习路线的规划 来源: https://www.cnblogs.com/yys1007260118/p/12484405.html

软件工程课堂作业(四)——结对开发(一)

匆匆过客 提交于 2020-03-12 17:10:07
一、题目及要求: 1、题目:返回一个整数数组中最大子数组的和。 2、要求: ①输入一个整形数组,数组里有正数也有负数;数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和;求所有子数组的和的最大值;要求时间复杂度为O(n)。 ②两人结对完成编程任务;一人主要负责程序分析,代码编程,一人负责代码复审和代码测试计划。 3、结对人员:焦燕 胡亚宝 二、设计思路: ①第一个方法,定义一个数组,将所有的子数组都列出来,再将它们的和都求出来放到该数组中,再求最大值,输出。但是在编写过程中,我们发现如果用循环方式存放,则序号不方便排,于是我们又想到边存边比,从第一个数开始,求出所有包含它的数组,依次求和,将最大值存入max。这样的确实现了要求的功能,但是时间复杂度为O(n*n),不符合要求。 ②第二个方法,我们发现,如果从第一个数开始加,加到某一值,当此时的和为负数时,无论后面是什么值,都不可能最大,则将前面的和值舍弃,直接从下一个开始加,仍旧是边加边比,直到求出最大值,此时只有一个for循环,事件复杂度为O(n)。 三、源代码: 1 //结对开发—— 焦燕 胡亚宝 2 #include "stdafx.h" 3 4 int _tmain(int argc, _TCHAR* argv[]) 5 { 6 7 //第一种方法 8 int i,j,k,a[5]; 9 int Sum,Max;

2020软件工程作业02

好久不见. 提交于 2020-03-12 16:44:24
作业所属课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10458 作业目标 对自己想学习的技术有个广泛的了解,全面的认知,规划相应的路线图。 作业正文 本文 参考文献 无 写在前面的话: 初心、勇气和信心。 回顾初心,回想自己当初为什么报这个专业。有的同学源于身边的亲人的榜样,也有同学是自己对技术的渴望和喜爱。但过去两年的学习大部分同学都感觉与初心有些距离的。不知你们是否看过电影《无问西东》,其中有一句台词:“ 如果提前了解了你们要面对的人生,不知你们是否还会有勇气前来 ”。同样的,如果你们提前看到了你们在过去这两年所面对的专业学习的现实,不知是否还有勇气和信心选择这份专业。 关于简历 。描述现状,写一份自己当下的简历及预期。关于技能当前值,我看到大家罗列了一些技术术语,没有描述这些技术的掌握程度如何,以及用什么标准衡量掌握程度。如何认识自己和正确评价自己的能力,这也许是我们过去没有锻炼的能力,也是我们这个学期需要一起努力向前的方向。就让我们从将博客作业尽可能的做到更好开始吧。博客作业不是三言两语的问答。必须强调一次:“ 这里是软件工程课

软件工程(一)

半腔热情 提交于 2020-03-12 13:33:29
1.什么是软件? 答:软件不仅仅是程序,还需有非常重要的文档,书写文档不简单,里面包含可行性分析,需求分析,数据库设计,详细设计,编码,测试,维护,里面包含的内容很多,也就是你的程序来自于你的逻辑思想,这些逻辑必须正确可行的物理模型。 软件=程序+数据+文档 2.软件工程的定义?提示:软件工程是一门学科,是一个专业,是一个课程,从这三大块展开 答:《计算机科学技术百科全书》:软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。 其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 IEEE给出的软件工程定义是:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件 现阶段比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 3.软件工程的生存周期? 软件生存周期是从设计软件产品开始到产品不能使用为止的时间周期。通常包括需求阶段、设计阶段、实现阶段、测试阶段、安装和验收阶段、操作和维护阶段。 4.软件的特性有哪些? 软件特性: