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

Posted yiuser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对初学软件工程的一些想法相关的知识,希望对你有一定的参考价值。

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)它的盈利模式是需要投资金钱才能解锁特定的关卡和加速获得对应的游戏道具。

 

 

以上是关于对初学软件工程的一些想法的主要内容,如果未能解决你的问题,请参考以下文章

对Python的一些想法

0302关于一些·问题的想法

关于新光源建设的一些想法

(分享)一些灵感和软件设计的想法

关于软件开发的一些想法

关于阻止PROE联网的一些想法!