对初学软件工程的一些想法

1.第一章出现的专业术语整理

加粗专业名词:

软件架构(Software Architecture), 软件设计与实现(Software Design,Implementation and Debug), 源代码管理 (Source Code Control) , 配置管理(Software Configuration Management), 质量保障(Quality Assurance), 软件测试(Test), 需求分析(Requirement Analysis),程序理解(Program Comprehension), 软件维护(Software Maintenance), 服务运营(Service Operation), 软件的生命周期(Software Life Cycle,SLC), 用户体验(User Experience), 国际化和本土化(Globalization & Localizatiion)

广义的软件工程推论: 软件=程序+软件工程。而此推论有它的拓展,扩展的推论为: 软件企业=软件+商业模式

软件的开发阶段专业术语: 1.玩具阶段  2.业余爱好阶段  3.探索阶段 4.成熟的产业阶段

软件工程:是把系统的,有序的,可量化的方法应用于软件的开发,运营的维护上的过程。

软件工程基于软件,而软件具有特殊性,其特殊性分为五类,其专业术语为:

1.复杂性 2. 不可见性 3.易变性 4.服从性 5.非连续性

软件工程的三大基础知识领域专业术语为:1.生命周期 2.专门领域 3.理论基础。

软件工程的目标专业术语: 用户满意度,可靠性,软件流程的质量,可维护性。

2.通读教材后的一些问题

1.在我读了这一段文字:单元测试必须由最熟悉代码的人(程序的作者)来写--P25,2.1.2部分后,我存在这样一个问题:代码在编写的目的是由作者定义的,作者在完成代码编写工作后,会存在作者自己都可能未察觉的问题,比如特殊数值,特殊的取值范围,特殊的输入样例等等,由于作者只会测试自己觉得需要测试的部分以及样例功能,因此会遗漏掉可能出现的特殊情况,导致代码的健壮性和功能性降低。在我查阅资料后和自己编写代码并测试的经历,我觉得单元测试,代码调试得由作者来写这一点是存在问题的,我对此表示疑问。

2. 我阅读了第五章软件团队模式(P91)之后,文中介绍了许多种团队模式,去除我们明显觉得不好的模式,如一窝蜂模式之后,剩下的模式哪种最好最高效?如果各种模式是根据不同团队组成而根据实际情况选择的,那么什么情况下应该选择哪种团队模式是更优解?文中与网络资料并没有对其进行充分的解释,我对此存在疑问。

3.我在阅读了第七章7.2.1(P128)推动信息共享与沟通部分中提到,所有的信息都被保留,并公开,是不可以删除的,那么信息的保存必然要消耗存储空间,对于软件开发行业来说,存储空间必然很大,但是消耗也是巨大的,是否存在有一天所有存储空间消耗殆尽的情况,那么必然要对较早的信息进行删除,那么在删除之后,被删除较早的信息导致现在的错误发生,就存在理论上无法解决的情况。对此,是否有更优的信息共享解决方法呢?MSF模型是否会被淘汰呢?

4.对于第八章需求分析中的提高估计能力的招数(P173)来说,其中有参考前人的经验的方法,也有快速原型法,也有山寨的估计扑克牌,划拳估计法和T恤尺寸法。我想了解在这些方法中,是否存在一种最合理的估计方法,使员工能最大化的编写代码来节约成本,并让代码拥有优秀的完整性和功能性,便于达到需求。简而言之,如何估计能力才是最科学最高效的?

5. 在我读了第十三章测试报告部分(P279)之后,我对此产生疑问,软件必须经历所有的软件测试才可以么?是否通过相关某几类软件对口的相关测试就可以投入给客户体验?这是我存在的疑问。

3.软件分类方法

1.Safari浏览器

(1)这是苹果手机自带的APP,是基于Web App开发的。

(2)它有着高效的处理效率和兼容各种不同的网络模式的长处,它的目标并不是盈利,只是单纯的优化苹果用户的使用体验来吸引更多的人购买苹果手机。

(3)定时期推出新的版本。

(4)它的长处在于对各种网页格式有着更好的兼容。

2.淘宝

(1)在大一需要购买东西的时候去应用商店自行下载的,是属于Mobile Apps类的软件。

(2)淘宝有着便捷的网购服务,安全快捷,所以我下载了它。

(3)淘宝定期会发布试用版,会邀请客户进行体验,会定期更新。

(4)它的长处是有着更完善的网购模式和更好的信誉。

3.炉石传说

(1)从APP应用商店下载,属于Games类的软件。

(2)我觉得这个游戏比较益智好玩,所以下载了它。

(3)会常常更新软件。

(4)它的盈利模式是需要投资金钱才能解锁特定的关卡和加速获得对应的游戏道具。

原文地址:https://www.cnblogs.com/Yiuser/p/11486117.html

时间: 2024-08-12 20:49:21

对初学软件工程的一些想法的相关文章

初学软件工程

在大学生涯中学习了计算机科学与技术,感觉是为数不多在大学中,比较有用的专业,可以学习到实际的知识. 在编程实践中,感觉打代码不是最难的地方,解决一个一个的bug才是最有难度和挑战的,改正一个个逻辑漏洞,改正一个个打错的地方,每一个出错的变量等等等等,在程序运行成功的那一刻,简直成就感爆棚,在完成一个程序,一整套没有bug的程序之后,如何精简和简化这个程序成为了下一个问题,这就是更加具有挑战的点. 希望之后的软件工程学习可以提升自我,让自己提升一个台阶.

初学软件工程,对《现代软件工程―构建之法》这本书的疑问

这学期刚开的软件工程这门专业课,老师订的是邹欣编著的<现代软件工程―构建之法>这本教材.上课之前要求我们大致阅览这本书,提出对这本书不懂的问题,然后等到学期结束结课时对不懂的问题进行解答,以达到一个提高学习效率的目的. 以下是大致看完书不懂的问题: 1.什么是软件工程? 2.什么是敏捷流程?敏捷体现在什么方面? 3.MSF?PM?的含义是什么? 4.个人,两个和团队该怎么开发一个项目?具体流程是什么?

助教日志_【沈阳航空航天大学软件工程 1,2班】期末排行

题目: 团队作业(六) 团队作业(七) 个人最终总结 [附加作业]沈航软件工程期末附加作业 优秀博客赏析: http://www.cnblogs.com/RayShea/p/5557813.html http://www.cnblogs.com/yzdd/p/5535440.html http://www.cnblogs.com/wxl530/p/5597105.html 都说到了痛点,总结自身总结得很细致. 团队作业成绩: 团队cnblogs 团队作业   团队作业(一) 截止日期:4月2日2

物联网软件工程初学者

对软件工程的理解: 软件工程是按照工程学的管理方式,有组织.有计划的,在一定的质量基础.时间限度和成本范围内,实现功能明确的软件系统.如同一项建筑工程,需要前期测量.计算成本.预期时间.人员分工.中期跟进进度.保证质量.后期检测.维护,在每一段时间内做好应期的事情,才能被称为一项完整完善完美的工程. 初学软件工程,遇到的问题: 1.软件工程的学习与之前学习的课程联系是否密切?如果是与哪方面联系密切? 2.如果基础不是特别好,该如何计划对软件工程的学习? 3.看书上大多是概念性的知识,那软件工程是

《人月神话》读书笔记(一)

作为一个初学软件工程,并没有真正编程经验可言的的人,开始先是通读了一遍<人月神话>,只知道了“人月神话”的真正含义.人月是在估计和进度安排中使用的工作量单位,但因为它具有的危险性和欺骗性导致了它像神话一样地存在.而作者阐述的主要思想是软件编程的项目进度与增加人员之间是不能互换的. 之后再仔细地阅读一遍后有了更加深刻的体会,自进入信息时代以来,对于软件项目而言,项目工作者都挣扎在巨大的“焦油坑”里试图摆脱出来.在挣扎的同时我们也必须努力找到工作的乐趣所在尽管同时肯定会伴随着许多烦恼和痛苦.在一项

软件工程课程教育的一点想法

大学本科的软件工程课程一直遵循瀑布型的为线索的各个里程碑的相关知识点的展开介绍,现在多有理论框架与实践能力孰重孰轻之争.这里我也有一点点自己的看法. 软件工程在项目开发教学中的作用实质上类似计算机导论在计算机教育中的学科地位,应当属于前导性,线索性,框架式介绍,细思量其内容之广.理论之重.实践之繁的教学之繁重,本身就不是一个学期能承载得了的.既然教学大纲只安排一个学期,充其量,将来慢慢发展应当只是领学习者进门的而一个入门学科而已.而不是有些人说的那么危及及乎的想法. 站在更高一些的高度,比如体系

软件工程课的一些想法

本学期的软件工程课基本上是结束了,这一学期的学习我收获了很多,其中不可否认的是建民老师是一位好老师,其中我感触最深的就是老师非常注意在课堂上与我们的互动,通过这一学期的课程,老师基本上认识了我们班上的所有同学.在课堂上,注意与同学的交流,时不时的要求同学起来回答问题这样既可以保证同学上课认证听讲,同时也能保证课堂不会沉闷.其次,通过几次小组项目,我感觉对我自己的锻炼非常大,因为以前的时候基本上没有做过这样的项目,一次严格意义上说这是对我的第一次锻炼.最后我感觉最重要的就是建民老师在上课的时候注重

软件工程想法随笔一

我对软件工程这门课是十分看好的.这是为什么呢? 因为从许清老师的上课方式来看,这门课是开放而且自由的一门学科,对我们的动手能力能起到极大的锻炼作用. 所以我对这门学科是十分期待的. 并且这门科目对我的考研生涯也有部分帮助,因为强化我的动手能力,对于考研数学来说,是十分有帮助的,因为在我看来,考研数学的题目一眼看不出来,是需要实际动手操作的. 考研专业课也是如此,不动手,不考研. 不过我个人英语水平有限,有些英文的东西实在看不太懂,使用较为不便. 也希望我自己能把这门科目学好. 因为我GITlab

软件工程-个人项目(一) 数独终局的一些想法

任务:实现一个能过生成数独终局并且能求解数独问题的控制台程序. 代码地址:https://github.com/MrFasl/1120172188 使用语言:C++ 每个数独终局包含9*9个数字,第一个字母为(8+8)%9+1 = 8,即每个数独终局第一个数字均为8 关于数独终局数量的考虑: 数量要求为1<=N<=1000000 = 1e6  在首个数字固定的情况下,第一行可用的组合有8!= 40320种 <1e6. 现在考虑如何扩充数量,由于第一行不能改变,所以考虑456行和789行的