软件工程第一次作业

软件工程第一次作业

  • 花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。

   https://git.coding.net/yh_booka/123.git

 

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

问题一:

在第一章中主要讲的是软件的的发展,和软件工程的定义,以及软件工程各个方面的过程。第9页,在软件的复杂性中写道,工程师在维护程序时最多只能看到30-80行代码,但是在上百万条代码的程序中,我们该怎么维护。虽然软件有模块,但随着这些模块的增多,理解及运用这些,复杂性并没有改变。该如何解决,使这类问题变得不那么复杂?

问题二:

在第二章主要注重的是个人能力的培养,也是进入一个软件设计团队的基本要求。在本章中,主要是在以程序的单元测试来说明个人能力的强弱。其实我认为个人的能力是不只是在单元测试方面,然而单元测试则是最主要说明能力的地方。我在读完本章后,一直有个问题不明白,单元测试,是在所有模块整合完了,再测试?还是在还没有整合前,单个模块单个模块的测试?如果整合完了,那代码的量不就多吗?如果没整合,但是在整合完还是要测试,那当时的测试不就没意义了吗?

问题三:

第5章介绍了软件开发的团队模式,不同的团队模式各有各的好处,各有各的坏处,总结起来就是适合的就是最好的,那在实际的公司,新组建的团队采取什么样的模式呢?如果当前模式不太顺利,是在做同一个项目的时候进行调整?还是做完一个项目再做调整?而且团队模式是否有相匹配的团队开发模式?

问题四:

第一次接触软件工程,我觉的里面所有的概念知识都很新鲜,觉得收获都很大。那对于工作在底层的程序员,他们就像流水线上的员工,他么只要按照一定的标准去写程序,不需要搞清楚整个流程是怎样运作的。这本书他们看起来会有什么新的收获?又有什么现实里的作用?

问题五:

第八章主要讲了需求分析,我觉得需求分析挺重要的,一个需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。要达到什么样的效果。可以说需求分析是做系统之前必做的。需求分析确定了整个团队的方向,那么怎么作好需求分析呢?

  • 软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
    • 1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
    • 2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
    • 3)这些软件是如何处理Bug的?又是如何更新新的版本的?
    • 4) 同一类型的软件之间是如何竞争的?
    • 列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?

游戏:

游戏的推广主要利用的是大数据,以及广告宣传,玩家口碑等。游戏的最终目的始终是盈利,就拿《dota2》来说,本身玩这款游戏不需要付费,但由此衍生出来的一系列产业来维持这款游戏的运作,通过定期举行大型比赛,以及高额的奖金来增强其影响力。它会自动更新修补bug,打开后自动下载补丁。增强其竞争力的同时又要考虑老玩家的流失。

手机应用:

max+是一个游戏玩家交流的社区平台,支持多款游戏,可访问游戏内个人数据。通过收取会员费盈利,通过玩家之间,以及有关游戏的附带宣传。这个软件是通过下载而来的,功能齐全,大众化赢得消费者的青睐。

工具应用:

当用户切实使用到这种软件的功能,用户搜索就会出现在搜索引擎中,例如美图秀秀,通过一些会员才能使用的功能来收取会费,该软件就实用程度,基本功能以及其“傻瓜”式的操作优于其他软件。

软件是虚拟的,而硬件是现实的物质的。软件和硬件也只有合在一起才能发挥作用。

 

 

 

 

posted @ 2018-03-24 12:02  初噫  阅读(160)  评论(0编辑  收藏  举报