软件工程第一次作业补充
花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。
代码链接
在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
1.课本的第六章敏捷流程105页提到敏捷流程,它的开发理念我经过查找资料得到:
(1)个体和沟通胜过实施过程和工具;
(2)可以工作的软件胜过面面俱到的文档;
(3)客户合作胜过合同与谈判;
(4)响应变化胜过遵循计划。
2.课本的第十章第207页提到功能驱动设计,只写了怎样分步构成,可到底什么才是驱动功能的设计呢?
驱动功能的设计(FDD)是一种模型驱动开发的软件过程,和XP一样是敏捷软件开发方法的一种。FDD的主要思想是对功能的实现,也就是说FDD是以实现功能为目标。把系统分解成一个一个的功能集,每个功能集又习细分为具体的功能。是移动通信系统中使用的全双工通信技术的一种,与TDD相对应。FDD采用两个独立的信道分别进行向下传送和向上传送信息的技术。为了防止邻近的发射机和接收机之间产生相互干扰,在两个信道之间存在一个保护频段。比如说用户管理是个功能集,而用户管理又包括了增加用户、删除用户等具体的功能。域建模是其系统设计的方法,用到的是color uml,也就是常说的四色原型,在项目设计过程中回有很大的作用。
3.课本第93页提到瀑布模型,什么才是瀑布模型,有没有缺点?
经过查询资料,我知道了瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。但是他也有缺点,因为各个阶段的划分完全固定,阶段之间产生大量的文档,会极大地增加工作量;而且由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险,虽然缺点是有,但还是一个很强的模型。
4.课本第十三章软件测试中提到黑箱测试的方法有哪些:
等价类划分、边界值分析、错误推测、因果图和综合策略,其中因果图测试用例的基本步骤:
⑴ 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符.
⑵ 分析软件规格说明描述中的语义.找出原因与结果之间,原因与原因之间对应的关系. 根据这些关系,画出因果图.
⑶ 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件.
⑷ 把因果图转换为判定表.
⑸ 把判定表的每一列拿出来作为依据,设计测试用例.
5.课本第一章13页提到冒烟测试,那么什么是冒烟测试呢:
对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。
软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
3)这些软件是如何处理Bug的?又是如何更新新的版本的?
4) 同一类型的软件之间是如何竞争的?
列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
1.手机应用
支付宝:支付宝是国内领先的第三方平台,致力于提供“简单、安全、快速”的支付解决方案。支付宝主要提供支付及理财服务。包括网购担保交易、网络支付、转账、信用卡还款、手机充值、水电煤缴费、个人理财等多个领域。 在进入移动支付领域后,为零售百货、电影院线、连锁商超和出租车等多个行业提供服务。还推出了余额宝等理财服务。通过手机可以进行下载,分为安卓和苹果两种。第三方支付平台出现以前,电子商务的支付方式为转账或者汇款。这样的支付方式发生在交易之前,网上欺诈事件时有发生,安全性不高。支付宝出现之后,大多数的支付都是以第三方支付为媒介来进行的。在网上交易时,客户不是直接把钱划到交易对方的账户上,而是通过网上银行把钱充值到支付宝账户上,在收到商品且确认无误之后,才通知第三方放款给卖家,事实上这是一种结算业务,通过和人们一直都认可的国家企业合作获取信任,进行营利与服务。
2.游戏
王者荣耀:它是基于微信、QQ社交关系链基础上的MOBA类手游。《王者荣耀》和《英雄联盟》不一样,开发出一个具有充分的可玩性但是上手和操作难度会略高的手游,主要吸引本来就已经很庞大的MOBA类端游玩家,这样也能很赚钱;二是结合手机端游戏的特点和腾讯社交化的优势,考虑到MOBA类游戏的团队属性、极高的耐玩性和本身就非常受欢迎的特点,再次扩大用户群体,充分考虑上手简单和女性玩家的游戏基础等因素,开发出一款可以让几乎所有人快速上手的游戏,在保证门槛足够低的情况下,再利用匹配同水平玩家和自定义操作方式等的一些游戏制度来留住高水平玩家和举办电竞比赛。它不像其他的网游,用户可以通过手机就可以玩,而不是像英雄联盟一样需要电脑才可以玩。
3.操作系统
windows 7:内置WinXP、Win7(32/64位)供用户选择安装,大大提高了重装系统的可选择性和灵活性。自动智能化检测当前电脑信息,自动分析当前电脑是否适合使用云骑士重装,不强制安装,保证安装后系统的可用性。用户可以简单的进行系统重装,主要新特性有无限应用程序、增强视觉体验(没有完整的Aero效果)、高级网络支持(ad-hoc无线网络和互联网连接支持ICS)、移动中心(Mobility Center)。Win 7 除了外观上的改变,它的安装也很简便,对于一个新用户来讲,它的用户账户设置很容易,对于就用户来说,也可以将老系统中的个人信息最大程度的保留。