软件工程第一次作业
一.写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。
https://git.coding.net/my0915/ruangongshiyan.git
二.在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
a.在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文
b.列出一些事例或资料,支持你的提问
c.说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?
例如:我看了这一段文字 (引用文字),有这个问题 (提出问题);我查了资料,有这些说法(引用说法);根据我的实践,我得到这些经验(描述自己的经验);但是我还是不太懂,我的困惑是(说明困惑);或者我反对作者的观点(提出作者的观点,自己的观点,以及理由)。
1.在第一章第二节中提出软件工程的定义为:把系统的有序的,可量化的方法应用到软件的开发,运营和维护上的过程。而我在百度中找到软件工程多种定义,其中《计算机科学技术百科全书》中认为“软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理”。这一解释较易理解也涵盖了后面计算机科学中的一部分内容,易于我们了解,为何不用这一解释?
2.软件团队的人员时时刻刻都在流动,要让新的程序员读懂已有程序,了解程序设计,除了在书中第四章提到的做到代码规范,让代码简明,易读,无二义性以外,当我们遇见代码行数较多的程序时,如何快速理解已有程序?而且每个人都有自己编码的风格,即使按照代码规范编写代码,也会有所不同,除了做到快速摸清架构,还有哪些有效且快速的方法?
3.在第五章软件团队的模式中分别提出了主治医师模式,明星模式,社区模式,业余剧团模式,秘密团队,秘密团队交响乐模式,爵士乐模式,功能团队模式和官僚模式几种模式,在我所在的小组中,我觉得我们小组有时候符合主治医师模式,而有时候又符合功能团队模式,觉得哪个模式都能沾边但又不是全部符合,遇到这类情况,应该如何正确定性我们小组的模式?
4.在课本第七章(P140)内容中,MSF与CMMI的区别于联系分别是什么?只介绍了MSF对敏捷和CMMI的支持,但是是如何具体相互作用的呢?
5.没有看到本书第十一章第四节中的从Spec到实现的一系列内容。
三.软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
手机应用:美团
它实现了娱乐,外卖,住宿,订票,旅游等功能,其他的软件有时候只实现了单一的功能,它的涉及范围比较广,所以才下载了它。它是一款完全是为了盈利而设计的软件。
A.它与各个商家联合,为他们提供广告与便利,商家给它相当的利润,让它持续经营下去。
B.与其他软件相比较,美团在用户量,市场覆盖,业务覆盖等方面比较有优势,经营范围目前是最为广泛的一款软件。
C.在手机商店就能下载到此APP。
D.在节假日有一定的福利,还有客服功能,能及时反馈不足并加以修正。
工具软件:网易有道词典
它实现了单词,短语,句子的查询,各种语言的相互翻译和精品课程的学习,是一款不完全为盈利的软件,在学习一些课程时,要付相应的费用。
A.相较于其他的语言查询词典,它涉及的语言范围比较多,还可以查询到相应的例句。
B.可以列出自己难理解的单词,形成自己的单词本,以便于以后的记忆与学习。
C.可以使用自动检测翻译较长的句子,但是翻译的语法存在一些问题。
游戏:消消乐
它是一款娱乐,益智,盈利的一款软件
A.它可以在我闲暇时刻消磨时间,也可以提高我们的智力,通过用户购买风车币来达到通关和盈利目的。
B.可以要求好友一起玩耍,相互帮助,相互赠送精力瓶。
C.易于上手,操作方便,设置不同的障碍来增加游戏的乐趣。