软件工程——第一次作业

第一章 概论  计算机专业术语

软件=程序+软件工程

程序=数据机构+算法

软件企业=软件+商业模式

软件架构 (software Architecture)

软件设计与实现 (Soft 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 & Localization)

软件开发的不同阶段:

(1)玩具阶段

(2)业余爱好阶段

(3)探索阶段

(4)成熟的产业阶段

软件的特殊性

(1)复杂性(Complexity)

(2)不可见性(Invisibility)

(3)易变性

(4)服从性

(5)非连续性

计算机科学偏理论的领域

(1)计算机理论

(2)信息和编码理论

(3)算法和数据理论

(4)形式化方法

(5)程序设计语言

偏实践的领域

(1)计算机体系结构

(2)并行计算和分布式系统

(3)实时系统和嵌入式系统

(4)操作系统

(5)计算机网络

(6)科学计算

(7)安全和密码学

(8)人工智能:模式识别、机器学习、数据挖掘、信息提取等

(9)计算机图形学、计算机视觉、多媒体

(10)数据库和大规模数据处理

(11)万维网

(12)自然语言处理和语音

(13)人机交互

(14)软件工程

二、通读“构建之法”过程中发现的问题:

(1):为什么现在很多的软件工程作业还是没有书中强调的具有实际意义,到底该如何实现具有实际意义的软件工程作业?

  书中P37-41页:

  我读了书中37页的内容,发现作者在强调学校设计有实际意义的软件工程作业,发现很多老师反映软件工程的作业题目不好出,学生的“大作业”也是了无心意,自学软件开发的读者往往也想          不出什么有新意的题目来练习。

  怎么办,师生们身处在轰轰烈烈的软件产业大环境,但是软件工程课上做的题目还是非常的简陋,没有起到应有的作用,这的确是一件很有讽刺意义的事情。普遍的作业都缺乏软件工程作业必         要的两个基本要素:复杂性和易变性。

书中只是提到什么是有实际意义的软件工程作业,并没有说如何具体的去实现去改变目前的现状,所以我对这节内容有些疑惑!

(2):软件工程师该如何避免进入思维误区,避免走些不该走的弯路,使自己的工作更加效率?

  P48页

  书中3.2只提到了软件工程师的思维误区在那些地方,但是并没有说到底如何让工程师去实际的避免这些个思维误区。

  书中具体分析了软件工程师的一些具体的误区都在哪里,例如①分析麻痹,②不分主次,想解决所有依赖问题③过早优化④过早扩大化/泛化。软件开发有它自己的独特的规律,如果不了解这            些特性,软件工程师就会产生一些不切实际的想法,在开发过程中走很多的弯路。

(3):第8章的需求分析,获取用户的具体需求的调研过程中程序比较的麻烦,效率并不是很高,是不是可以借助大数据功能来去完成这个需求分析,会不会相对之前而言既效率又精准?

  P151页

  书中先是讲了软件需求:1.获取和引导需求,分析和定义需求,验证需求,在软件产品的生命周期中管理需求。

  2.软件产品的利益相关者

  3.获取用户需求——用户调研:焦点小组,深入面谈,卡片分类,用户调查问卷,用户日志研究,人类学调查。

  通过书中的介绍,我发现用户需求分析是个很繁琐又效率一般的工作,能不能通过一些技术去改进这个过程,节约更多的时间和成本。

(4):第12章--用户体验,用户体验是非常重要的对于一款软件来说,但是一般软件都是开发完成后才有用户去用,才成产生用户的体验反馈,我想是不是能在开发的过程中就让一些将来需要用到这款软件的用户参与到软件开发的过程中,这样是不是能更好的去设计好软件增强用户体验?

  P249页

  用户体验的要素:①用户的第一印象②从用户的角度考虑问题③软件服务始终都要记住用户的选择。④短期刺激和长期影响。⑤不让用户犯简单的错误。⑥用户体验和质量⑦情感设计

   我发现对用户体验的分析都是从外部分析的,为何不能让实际的用户来参与到软件的开发过程当中呢?

(5):第17章——软件工程师的职业道德,书中只用简单的两页就介绍完了,我想提问软件工程师的职业道德难道不是最重要的吗,应该需要具体的详细的讲解,让大家了解一名合格的软件工程师是怎么样的,如何成为一名有道德操守的优秀的软件程序员。

P405

  书中材料直接引用了,《软件工程师职业道德规范和标准》简要的说明了几个重点:

  原则1:公众,

  原则2:客户与雇主

  原则3:产品

  原则4:判断

  原则5:管理

  原则6:职业

  原则7:同事

  原则8:自身

  材料并没有具体详细的去讲解软件工程师的职业道德。

 三、手机中的软件:

选取三种软件:QQ   支付宝  饿了么

QQ

①下载它的原因:

它是中国最大的即时通讯软件,身边很多人都是用它进行通讯联系。便于同学之间的联系。比短信业务便宜很多也方便很多。

是否目的为盈利,如何盈利的:
QQ最开始的目标并不是盈利,后期需要大量的资金进行维护运转公司,逐渐转变为盈利模式。目标是赚取用户现金,通过开通各种会员来赚取用户现金。

③软件如何到自己的手里的:

QQ是通过应用商店下载获取的。当时在读初中二年级。感觉这个软件非常的方便,为自己打开了一扇充满新奇的大门。

④如何处理BUG的和更新版本:

QQ处理相应的BUG采用的对策是在线更新,定期更新全新的安装包。通过应用商城在线更新版本或者旧版本的升级提示。

⑤同一类型软件是如何竞争的:

QQ是即时通讯软件,他通过其方便快捷,上手容易,更友好的用户体验,丰富的多元化功能来博取大量的用户群体的长期使用。

支付宝

①下载它的原因:

因为支付宝是一款被大量用户使用,在国内盛行的快捷支付软件,可以不带现金,用手机就可以支付,方便快捷。

②是否目的为盈利,如何盈利的:

  支付宝是以盈利为目的的软件。它通过用户存在支付宝里面的现金,拿这些现金去做更多的投资,赚取更多的利润。还通过,借贷,消费,金融和其大量用户流量来盈利。

③软件如何到自己的手里的:

通过应用商店下载获取的,下载它是在快捷支付开始盛行时,当时上高中,自己也想体验一下新兴的快捷支付方式。

④如何处理BUG的和更新版本:

处理相应的BUG采用定期更新全新的安装包。通过应用商城在线更新版本或者旧版本的升级提示。

⑤同一类型软件是如何竞争的:

  支付宝的易用性,实用性,最主要的是其和现在国内最大的的电商平台淘宝的紧密联系,

使其几乎成为一款独一无二的软件,几乎不存在同类型的竞争对手。

饿了么

①下载它的原因:

   现在由于信息化时代的快速发展,餐饮服务行业也加快升级,进而出了新兴的外卖配送服务行业的产生。它有传统餐饮无法比拟的多选择,更快捷,省心省力。

②是否目的为盈利,如何盈利的:

  饿了么是以盈利为目的的软件,它同过向加盟饿了么的商家收取服务费来盈利。

③软件如何到自己的手里的:

  通过手机的应用商店下载,刚上大学时期下载的。

④如何处理BUG的和更新版本:

处理相应的BUG采用的对策是在线更新,定期更新全新的安装包。通过应用商城在线更新版本或者旧版本的升级提示。

⑤同一类型软件是如何竞争的:

   同类外卖服务业里,商家加盟饿了么相对其他软件更加容易,饿了么对商家收取的服务费也相对其他竞争对手会更少。

 

 

你可能感兴趣的:(软件工程——第一次作业)