软件工程

[2020 BUAA 软件工程]个人博客作业

余生颓废 提交于 2020-03-04 14:17:59
[2020 BUAA 软件工程]个人博客作业 项目 内容 这个作业属于哪个课程 2020春北航计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标是 系统学习软件工程相关知识,培养自己的软件开发能力与团队协作能力,接受一定的实战锻炼 这个作业在哪个 具体方面 帮助我实现目标 快速阅读 《构建之法》 ,掌握软件工程的构建过程中的宏观概念 阅读教材 《 构建之法 现代软件工程(第三版) 》 快速看完整部教材 ,仍然不懂的问题 单元测试必须由最熟悉代码的人(程序的作者)来写 代码的作者最了解代码的目的、特点和实现的局限性。所以,写单元测试没有比作者更合适的人选了。 ——第 2 章 个人技术和流程 \(P_{25}\) 问题: 个人认为这个要求有一定道理,但如果这样会不会更好: 首先,由作者自己写一份单元测试初稿。 因为作者对自己的程序了解程度是最深的,他最清楚自己的程序在哪些地方容易出错,也最了解哪些地方应该被测试。 其次,由测试人员去完善。 如果让作者对每一个模块去完整地写一个单元测试,第一,很浪费开发人员的时间;第二,因为每个开发人员对自己程序的单元测试反而有所偏重,很可能会导致测试不完善;第三,团队协作时,成员的单元测试长得千奇百怪,不一定是最高效的测试方式。 专和精的关系 当我们谈论“全栈工程师”的时候,我们说的究竟是

软件工程基础知识简述

南楼画角 提交于 2020-03-04 04:52:11
软件工程基础知识 1.开发涉及到有关的三方人员: (1)开发程序的人员称为:开发者 (2)向开发程序的人员提出需求、从开发程序的人员那里将软件购买过来的人员称为:客户 (3)最终使用软件的人员称为:用户 2.软件开发的四个阶段及其主要任务: 四个阶段的顺序是:需求,分析,设计,实现 需求阶段的主要任务是:“客户提出需求、开发者筛选需求、双方进行沟通谈判”。 分析阶段的主要任务是:“将用自然语言表达的需求转化为用更精确语言表达的内容” 设计阶段的主要任务是:“分为结构设计与详细设计两个步骤”。 实现阶段的主要任务是:“编写代码”的阶段。 3.通俗理解四个阶段的主要工作: (1)需求文档,分析文档的阶段的主要工作是写文字; (2)分析文档,设计文档的阶段的主要工作是画图; (3)实现文档(源代码以及注释)的主要工作是写代码。 4.分析和设计阶段各需要画什么图: 分析阶段:用例图等等 设计阶段:活动图等等 5、在四个阶段中,哪个阶段是最困难的、最有挑战的阶段? 答:需求阶段 6、这四个阶段,如果依据困难程度,请给出从最简单到最难的排序结果。 答:实现阶段、设计阶段、分析阶段、需求阶段。 7、如果你刚刚毕业就进入了一家知名软件公司,请问公司最有可能将你安排到以下哪个小组:实现小组、需求小组、设计小组、分析小组? 答:测试小组。 (1)测试经验足够了,代码阅读量足够了,有可能进入实现小组。

软工第一次个人博客作业

杀马特。学长 韩版系。学妹 提交于 2020-03-04 00:07:51
Q A 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业要求在哪里 第一次个人博客作业 我在这个课程的目标是 学习团队之间的合作,如何有条理的、高效的进行软件的开发 这个作业中在哪个具体方面帮我实现目标 加强我对软件工程的认识 1.快速看完整部教材,列出你 仍然不懂 的5到10个问题 2.4.1下面练习可以用来锻炼学生的编程基本功 ​ 1.全部用命令行工具和Notepad编辑器,不用Viusal Studio等集成编辑环境,每人手工创建并编译一个C的命令行程序:“Hello World” Q1:用一些集成编辑环境真的会基本功造成影响吗? 现在,我周围的同学基本上都是用到Visual Studio或者是IDEA等软件来编写程序,而且这也的确是加快了我们编写程序代码的速度。而我们用这个对我们基本功造成了影响吗?我认为没有,而且如果要加强基本功,更应该是去动手做一些实际的项目,结合各种算法,知识来解决问题。就例如在大一的时候,我也是用的普通的DEVC++来编写程序。而当什么时候我才感觉自己代码能力有所提升呢,是我们课程大作业需要提交一个自己所写的程序,而我在成功写完那个高精度计算器时才发现自己和以往的我有很大不同,而这与我的编程环境关系却很小。 4.5.4 如何结对编程 3.驾驶员和领航员不断轮换角色,不要连续工作超过一小时,每工作一小时休息15分钟

201771030126-王元宗 实验一 软件工程准备—<学习现代软件工程-构建之法>

泪湿孤枕 提交于 2020-03-03 15:49:12
项目 内容 软件工程 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 作业要求连接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html 软件工程准备 (1)学习博客园软件开发者学习社区使用技巧和经验;(2)了解Github的基本操作。 学习目标 了解软件工程,提出问题并且寻求答案 参考文献 邹欣.现代软件工程—构建之法,现代软件工程[M].人民邮电出版社,2014, 实验内容 1.调查问卷( 已提交 ) 在以下网址提交课程调查问卷:( https://www.wjx.cn/jq/60177777.aspx ) 2.在博客园平台注册个人博客账号和加入班级博客( 已注册并加入班级 ) 用途:师生交流、同学交流、发布作业、学习先进技术与工程经验 博客园地址:( http://www.cnblogs.com/ ) 请参考这篇博客创建个人博客园博客账号 班级博客地址:( https://edu.cnblogs.com/campus/xbsf/nwnu2020SE ) 登录博客后,在浏览器中打开链接,加入班级( 若链接失效请在群内联系助教 ) 3.注册Github账号( 已根据链接并自己百度学习了GitHub的基本操作,但仍需通过练习来更进一步的掌握 ) 用途:管理项目,记录( 源码、文档

敏捷开发方法综述

谁说胖子不能爱 提交于 2020-03-02 21:10:49
所谓敏捷开发,就是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷开发的流程: 在软件工程的语境里,“敏捷流程”是一系列价值观和方法论的集合。它遵循的原则是: 1. 快速迭代 相对那种半年一次的大版本发布来说,小版本的需求、开发和测试更加简单快速。一些公司,一年仅发布仅2~3个版本,发布流程缓慢,它们仍采用瀑布开发模式,更严重的是对敏捷开发模式存在误解。 2. 让测试人员和开发者参与需求讨论 需求讨论以研讨组的形式展开最有效率。研讨组,需要包括测试人员和开发者,这样可以更加轻松定义可测试的需求,将需求分组并确定优先级。 同时,该种方式也可以充分利用团队成员间的互补特性。如此确定的需求往往比开需求讨论大会的形式效率更高,大家更活跃,参与感更强。 3. 编写可测试的需求文档 开始就要用“用户故事”(User Story)的方法来编写需求文档。这种方法,可以让我们将注意力放在需求上,而不是解决方法和实施技术上。过早的提及技术实施方案,会降低对需求的注意力。 4. 多沟通,尽量减少文档 任何项目中,沟通都是一个常见的问题。好的沟通

作业三:读《构建之法》1-5章后感

*爱你&永不变心* 提交于 2020-03-02 21:09:39
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2178   国庆小长假期间,经过白天的忙碌,晚上的时间,终于能够静下心来看看这尚未细读过的《构建之法》。以下便是我的一点小感想。 第一章 概论    第一章主要是讲述了计算机科学的领域,软件工程和计算机科学的关系,软件的特性,软件工程的定义与组成部分。   在1.1节中有段话, “我们平时讨论程序的种种问题,究竟是在表1-1中的哪一个层次上谈论‘程序’呢?我们写的程序有没有考虑到类似于这两起飞行事故级别的问题呢?IT专业的大学毕业生找工作时声称:我精通Java,会用C++写‘Hello World’程序,我懂软件工程,我花了很多图,写了很多文档,最后得了很高的分数……这些同学是真的懂软件工程,是一个合格的软件工程师么?” 毫无疑问,这并不是企业要求的软件工程师。我们大学生在学校里面根据学校安排的课程学习完了,完成了答辩,得了个过得去的分数,便以为自己出来找工作也像考试那般容易,可是现实是,工作不是在校学习,人家要的是能做项目的有实际动手能力的毕业生,而不是纸上谈兵的书生。在我看来,一份完成良好的项目,比得上简历的各种“自夸”。根据学校的课程学习了“软件工程Ⅰ”,学习了怎么画各种图,可是我们要想成为一名真正的软件工程师,又该怎么做呢?   在1.2

2020软件工程作业01

荒凉一梦 提交于 2020-03-02 19:39:08
2020软件工程作业01 软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 本作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 这个作业的目标 对本专业生涯的回顾、总结和展望 作业正文 本篇 其他参考文献 www.baidu.com 1、建立博客 已建立个人技术博客,并关注了以下博客: https://www.cnblogs.com/pengchen511/ (彭琛老师博客) http://www.cnblogs.com/xinz/ (邹欣老师博客) http://www.cnblogs.com/easteast (福州大学张栋老师博客) https://www.cnblogs.com/hengyumo/ (福州大学乐助教博客) https://www.cnblogs.com/kofyou/ (福州大学徐助教博客) 2、回顾——我的初心 当初为什么报 计算机科学与技术 这个专业? 觉得这个专业很好 当初对 计算机科学与技术 这个专业的期待和想象是什么? 能写出一个游戏脚本之类的 当初希望自己是如何投入这个专业的学习的? 慢慢摸索 曾经做过什么准备,或者立下过什么FLAG吗? 3、阶段总结与展望——我的简历

计算与软件工程 作业二

假如想象 提交于 2020-03-02 18:56:19
计算与软件工程作业二 作业要求: https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10402 作业一: 程序完成的功能: 可以选择年级选择适合不同年级的学生,用是否有乘除法、负数、余数、运算数的范围来选择难度,然后给出所要的算式,根据算式进行运算,输入结果,程序进行对错判断,给出正确结果。 运行截图如下,详细代码见文章末尾: 作业二关于Git: Git下载链接: http://download.zol.com.cn/detail/44/439990.shtml Git安装教程: https://www.cnblogs.com/xueweisuoyong/archive/2019/11/22/11914045.html Gitee链接: https://gitee.com/wang_hui_ru/fristwork/blob/master/1.cpp 关于Git仓库: 仓库又名版本库,英文名repository,可以理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 一、创建仓库: 1、登录码云账号,找到左下角仓库,点击新建仓库,根据需要填写信息,然后点击创建: 2、创建完成结果如下:

201771030115-牛莉梅 实验一 软件工程准备-<初学《构建之法--现代软件工程》的疑问>

眉间皱痕 提交于 2020-03-02 13:03:04
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html 我的课程学习目标 1、了解软件工程是什么 2、学好软件工程的理论知识 3、将理论知识应用到实践中去 这个作业在哪些方面帮助我实现学习目标 初步了解了软件工程的具体含义,同时对理论知识有了大概的了解 作业正文 1、快速浏览邹欣老师博客或《构建之法--现代软件工程》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。2、请参考这篇博客修改博客园博客默认编辑器。3、请参照这篇博客,在博客撰写中练习 MarkDown,有余力的同学可以进一步优化博客的阅读体验。 作业参考文献 [1]张涛,马春燕,郑炜,杨帆,王海鹏,成静编.软件技术基础实验教程[M].陕西:西北工业大学出版社,2015.01:第111页 [2]邹欣.构建之法--现代软件工程.人民邮电出版社,2017 一、读完邹欣老师《构建之法--现代软件工程》一书,以下三个问题比较困扰我 1、问题一 我阅读了该书第1.2.2章的这一段文字 软件工程与计算机科学的关系[2]: 根据我们对软件特性及工程这一概念的了解,可以看到

201771030105-范铂真 实验一 软件工程准备-学习软件工程基本操作并思考

廉价感情. 提交于 2020-03-02 12:59:42
项目 内容 软件工程 https://www\.cnblogs\.com/nwnu\-daizh/ 博客园 https://www\.cnblogs\.com/nwnu\-daizh/p/12369881\.html 软件工程准备 (1)学习博客园软件开发者学习社区使用技巧和经验;(2)了解Github的基本操作。 参考文献 邹欣.构建之法——现代软件工程:现代软件工程[M].人民邮电出版社,2014 读《构建之法》 读了邹欣老师的《构建之法》这本书,对于这本书主要分析和研究哪些问题有了大致的了解。 第一章中,邹欣老师用一个很生动的例子将很多概念引入,这些概念也是本书将要着重研究和讨论的内容。 在我自己对于这些概念的思考基础上,我总结了自己的三个问题: 1.每个程序员的思想都是不同的,对于同一个问题,一千个程序员会有一千种解决办法。我们无法使每位程序员都理解这一千种方法。那么,程序的后期维护以及改进,都应该如何管理实现。 思考的起因: 第一个问题也是邹欣老师书中提到的问题: 我上班后,发现以前同事写的程序真是垃圾,根本看不懂,无法维护。我要推翻重写!后来一个老员工笑嘻嘻的告诉我,我们现在看到的程序,就是去年的新员工愤怒地推翻重写之后的结构,大家反映还没有以前的版本好用。 ——引用自《 构建之法 》 我的理解和经验: 对于我来说,写程序不喜欢写注释,正因为如此,我自己的程序