计算与软件工程第一次作业
一 面临的工具困难
由于新型冠状病毒疫情的原因,学校不能按时开学,因此,采取网上上课的方式进行授课。软件工程这门课程首先需要我们下载钉钉这个软件进行上课,虽是第一次使用,但在老师发出相关班级课程链接的帮助下,顺利加入班级。另外,注册了博客园相关账号,并加入了软件工程的班级。此时面临了小困难:在加入班级时需要“码云”个人主页,因而要去码云主页 https://gitee.com 注册自己的账号,将个人的空间地址自定义并填写到加入班级的链接上,之后顺利加入博客园的班级。
二 工具软件认识看法及学习过程
码云
码云已经成为国内最大的代码托管平台,致力于为国内开发者提供优质稳定的托管服务。码云除了提供最基础的Git代码托管之外,还提供代码在线查看、历史版本查看等方便管理、开发、协作、共享的功能。在日常开发中,码云可以有效促进团队协作,提升工作效率。
markdown编辑器
markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。
学习过程
我学习了markdown相关语法,并用Markdown语法处理此文档建立第一个博客。学习了相关软件工程第一章概论,对其内容进行了思考。`
三 第一章概述内容的读后感
教学方法
通过预习第一章概述,我首先了解到在教学方法层面,作者否认了师生之间的评价关系、金钱关系、喂食关系、应付关系、路人关系、警犯关系,认同师生关系是教练和学员的关系。我认为很正确。学生和学员一样是奔着自己要学好的目的来听课,有了目标才会上进。老师和教练一样在自己所教课程方面有丰厚的经验、资源。老师和学生相互反馈才会互相提升。另外,作为一名学生,要刻意练习才会有提高。首先,对作业方面也要抱有目的地学习,如程序通常是对输入数据进行处理并输出,我们要对程序在各个方面拓展,这样才能提高我们编程能力。其次,在学习过程中要思考,不能光靠时间时长,如敲代码若没有思考和在“学习区”学习,技能并不会持续提高。
教学手段
(一)投入教学课堂
在此,作者提到了学好的三个要素为:学习的材料、学习的动力、学习的效率。其中,最重要的应该就是学习效率的提高(即怎么学)。让学生参与课程是一个很重要的问题。很多学生表面看上去盯着老师看,实际上并没有输入知识,而是彻底放空。作者提出了四个让学生参与课堂的方法:让学生带着目的、问题来、因材施教、保持高要求。
(二)软件工程项目的学习流程
1.开始维护以前同学开发出来的程序,理解程序。
2.找bug,改bug,重构小部分代码,以满足用户的需求。
3.一部分同学可以开发测试用例
4.在现有版本的基础上做增量开发
5.理解需求 (这个时候理解了客户需求是什么)——>设计——>开发——>回归测试 (用到上面开发的测试用例)
(三)从做中学
"做中学 (Learning By Doing)"是掌握实用的软件工程技术的重要教学手段。上《现代软件工程》的同学,都是大三到研一的同学,应该具备基本的学习能力和开发能力。我们在“做”的过程中学习,有疑问, 再问老师, 问专家, 这样学习的效果会好很多。
软件工程相关概论
大部分人都了解数据结构+算法=程序这个名言。程序是基本功,但是除了程序之外,软件工程决定了软件的命运。作者在介绍软件工程之前举了航空飞机的例子,从纸飞机到波音787,将程序,软件,软件工程进行了类比,使我对航空业软件工程有了浅薄的认识。
软件工程认识 | 内容 |
---|---|
软件工程定义 | 是把系统的, 有序的, 可量化的方法应用到软件的开发, 运营, 和维护上的过程 |
软件工程领域 | 软件需求分析,软件设计,软件构建,软件测试,和软件维护 |
软件开发活动 | 构建管理,源代码管理,软件设计,软件测试,项目管理 |
软件生命周期 | 需求分析——>设计软件架构——>数据结构和算法实现——>测试——>发布软件——>软件的维护 |
软件开发目的 | 提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和软件的可维护性 |
软件工程学科 | 计算机科学, 计算机工程, 管理学, 数学, 项目管理学, 质量管理, 软件人体工学, 系统工程, 工业设计和用户界面设计 |
软件相关工具 | 编译工具,源代码管理工具,源代码编辑工具;Microsoft Visual Studio;Eclipse;ClearCase; ClearQuest等等 |
另外,软件=程序+软件工程一个扩展的推论是:软件企业=软件+商业模式,商业模式也会影响软件的需求。
除了对软件工程的相关了解外,我对软件的bug有了进一步的了解。真正意义上的bug指的是软件的行为和用户的期望值不一样。很多人认为bug 就是质量不合格,没有bug,就是质量完美,其实不然。对于此,我认识到bug实际上是这类软件没有满足有些用户的需求,它们有自己特有的功能,但可能不被认可。因此,软件工程有个重要的问题需要去解决,要去调节软件产品的功能,使其达到顾客的要求和认可,使其“完美”发布。
相关讨论
在这部分我学习了别人的经验和体会。我认识到对于软件程序来说,我们要找到合适的学习方法。多实践,多上网看资料是每个学习程序者所必须要掌握的技能。并且我们要把自己的基本功打好,认真学好各个编程语言,并且提升自己的自学能力才能走的更远。