软工第一次作业

一、自动生成小学四则运算题目

程序代码地址:https://git.coding.net/Xiaofengcanyue123/project_1.git

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

1、在第一章第二节中提出软件工程的定义为:把系统的有序的,可量化的方法应用到软件的开发,运营和维护上的过程。而我在百度中找到软件工程多种定义,其中《计算机科学技术百科全书》中认为“软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理”。这一解释较易理解也涵盖了后面计算机科学中的一部分内容,易于我们了解,为何不用这一解释?

2、生鱼片模型中什么时候上一个阶段会结束呢?如何简化大瀑布带着小瀑布这种变型使这种问题能解决更多问题吗?

书中讲述了瀑布模型以及瀑布模型的变型,有生鱼片模型,大瀑布带着小瀑布。生鱼片模型描述各相邻模块像生鱼片那样部分重叠,大瀑布带着小瀑布是为解决子系统之间进度不一,技术要求迥异的模型。 但是我还是些问题不太懂,就像书中提到的困扰,生鱼片模型中什么时候上一个阶段会结束呢?如何简化大瀑布带着小瀑布这种变型使这种问题能解决更多问题吗?(第五章团队和流程P96)

3、书上提及到的单元测试还有回归测试,虽然书本有介绍它们的含义还有作用,也有写到用VSTS来写单元测试,并且有列出单元测试的代码,但是不知道是不是由于没有用软件来编写执行,给我的感觉是很概念模糊,没办法理解到他们的实际操作,可能要在课外里扩展知识,单元测试和回归测试让我觉得挺重要的,对以后做程序来说可以让自己的程序更好的了解到不足和退步。个人开发流程这边让我想到的是我们的作业,我们自己的流程相对比较简单,大多数时间都在具体代码的编写,虽然在计划分析也占据一部分时间,但相对起来少。对比其他的程序员的开发流程,报告,测试这一方面明显比我们学生多。那么对于这一情况,如果有意要从事这一方面的同学,是不是应该从学生这一时刻开始重视报告和测试这一块?对于2.1的内容,那么我们该怎么去着手学习单元测试,回归测试呢?是不是可以从我们平时写的小程序里实践一下学习怎么写怎么用单元测试和回归测试吗?

4、第五章“团队和流程”第二节“软件团队的模式”中为我们介绍了十种模式,我看过之后也有了一定的了解并选择出了适合自己团队的团队模式,关于开发模式不是特别了解,书中第111页的课后题中也提到了,团队模式和团队的开发模式有什么关系?所以团队模式和团队的开发模式到底有什么关系呢?

5、我看到了这一段文字“业余剧团模式:这样的团队在项目中,不同的人会挑选不同的角色。在下一个剧目中,这些人也许会换一个完全不同的角色类型,个人在团队
中听从一个中央指挥的指导和安排。”有这个问题:这样的团队算不算是一个敏捷的团队?我的困惑是:不同的人挑选不同的角色,不同的角色也就有不同的任务,也就
相当于每个人都可以挑选不同的任务,符合了“自主管理”?(第五章 团队和流程)

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

手机应用:如常用的QQ、淘宝

QQ:由于人们在交流的时候比较方便进而得到广泛的传播从而使人们主动去下载使用,他们的目标不是盈利;

淘宝:一方面是方便快捷,另一方面是由于可供选择的东西多而且范围广泛从而使我主动去下载使用,他们的目标是盈利从而赚取用户现金。

QQ、淘宝都一样,通常都是相关工作的开发人员通过用户的需求在原有的代码、功能基础上进行分析、修改、添加,然后进行设计、管理和实现等步骤,最后实现交付并且把更新的资源包发布于网页让用户实现更新。

游戏:开心消消乐

该软件可在软件商店里边下载的,软件开发者的目标可能是盈利,不过这并不是唯一的目的,也是为了娱乐所有人。他们盈利的方式是直接获取用户现金。该软件在使用过程中可能会出现卡顿现象,占用内存比较大,软件设计者们也在不断改进该游戏,如不断改进代码的精简度来减小内存以及用此来推进新版本。与开心消消乐竞争的软件比如海滨假日等也经常更新,于是软件开发者们想出了利用一些特惠活动,以及签到来挽留用户。由此我得出软件远远灵活于硬件,可能软件一个小小的改变就需要一个程序员呕心沥血许久。

操作系统:

像windows,ios,andriod,linux等操作系统,分别应用于移动端和pc端,开发者会将这些系统软件安装于买到的手机或计算机中,让客户使用,客户在买这些智能工具的时候,就相当于给这些操作系统间接付款,目标是让客户通过操作系统使用这些智能工具,真正实现工具的价值,可以通过网上下载,或者相互拷贝,或者在买智能工具的时候直接安装上,操作系统作为一个很大型的软件,与硬件直接接触,肯定会存在Bug,或者会有组成部分进行更新,正版的操作系统会收到更新通知,然后自动下载,或者可以自己去官网上下载安装。

 

posted @ 2018-03-24 09:30  晓风&残月  阅读(120)  评论(1编辑  收藏  举报