软件工程第一次作业

1.关注《构建之法》的作者邹欣老师的博客;
2.花二十分钟写一个能自动生成小学四则运算题目的“软件”,要求除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。
代码地址:

https://coding.net/u/MJX1500802081/p/Demo/git/blob/master/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BD%9C%E4%B8%9A.cpp

3.在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。

问题:

(1)一个软件工程师的代码量非常多,就能说明他是一个优秀的软件工程师吗?

(2)在软件工程课程的学习当中,在进行实际的软件开发之前是必须要学习理论知识吗?

(3)USE CASE 用例图具体的定义形势以及画法到底是什么样的?

(4)团队模式和团队的开发模式有什么关系?

(5)用户界面是否是软件工程学中不可或缺的一部分?

(6)如何衡量软件工程的质量?

4.软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。

(1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?

a.QQ:QQ作为我们这一代人用来交流的主要工具,觉得开发者的初衷并不想要盈利,而是想开发出一个可以方便人们交流的工具。

b.冰果消消乐:这是一款休闲益智的消除游戏,这个软件开发者开发该软件的最初想法应该就是想要盈利。

c.酷狗音乐:这是一款可以听音乐的软件,在其上面有数以百万计的音乐,这个软件的开发理由是想让听众能有一个可以更好的享受音乐的平台。

(2)这些软件是如何到你手里的(邮购,下载,互相拷贝)

这些软件都是通过在手机应用商城下载安装到手机上的。

(3)这些软件是如何处理Bug的?又是如何更新新的版本的?

这些软件都是通过用户体验,用户反映来处理Bug,然后通过内部更新,提醒用户可以更新版本。

(5)同一类型的软件之间是如何竞争的?

同一类型的软件之间通过改善软件的界面美观性,软件的实用性,还有用户的下载量来相互竞争的。

(6)列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?

在使用酷狗音乐的时候,有些歌曲是不能下载的,但是在线听过之后,可以在没有网络的时候在“最近播放中”听。在硬件中,如果没有下载,应该是不能够在无网络的情况下再次听音乐,而在软件中竟然可以做到。这可以说明软件的不可见性。

 

 

posted @ 2017-04-16 20:01  M橘子小姐  阅读(105)  评论(1编辑  收藏  举报