没有合适的资源?快使用搜索试试~ 我知道了~
copilot_spec中文翻译版
需积分: 29 0 下载量 188 浏览量
2012-11-15
10:11:54
上传
评论
收藏 86KB DOC 举报
温馨提示
试读
29页
copilot_spec中文翻译版,懂的人已经下载看看
资源推荐
资源详情
资源评论
Fog Creek
软件
目录
目录大纲
公共版本的前言
关于需求说明书
概述
主要的特性
设计的目标
主要组件
网站
软件受害者
软件帮助者
编译工具(the reflector)
许可证
关于首次展示
物理体系结构
软件体系结构
编码协议
用户体验
执行的注意事项
未来的特性
准备开始
主页
学习更多的页面
需要付款的页面
准备去帮助
准备被帮助
用户界面受害者
用户界面助手
邀请码
再连接
会话怎么开始
数据收集
载入日志
交流和解决问题
安全性
1、 公共版本的前言,由 joel splosky
在 2005 年 8 月开发出最终的版本(这种系统性能评估测试被叫做”Aardvark”),这个
spec 是很有值得去研究。 我让它可作为一个 joel 的软件的一部分,因为很多人都想要看一些
样品的种类规格,所以我们写在 Fog Creek。
Spec 里有一个很大的错误。当我把这个错误写下的时候,我已经猜测 port 443 这个错
误,会使用在安全 http 协议,,配置去使用代理服务的时候甚至会在因特网里出现。
我误信了代理服务器不会在 SSL,因为他会出现在浏览器,从而发起攻击。明显结果
是错误的。之后我们追溯到第一个 beta 版,我们发现错误是怎么产生的。因此,最终实现的
Copilot 1.0 做了一些没有过计划过的工作来支持代理检测以及不同类型的代理服务器。我
们准时完成了版本 1.0 的这些工作并且把剩下的工作也结束了。我们就升级为版本 1.1.
这么说吧,全靠我们的努力,仅仅增加额外的代理工作大约 10%。原因在于你写一份规
格书也不可能提前解决每一个问题;原因在于你提前解决尽可能多的问题,从而在你开发的
时候有可能减少一些缺陷。在我们的例子中,有很多刚出校门的暑假实习生,我们简直无法
低估需要建设工程 Aardvark 的工作量或者我们无法容忍当孩子饮用啤酒和玩扑克的时候,,
我在一直调试工程到 9 月份。
很多时候,我会提前思考一些事情从而减少我开发的时候的思路不通的情况。当我写
规格说明书的初稿的时候,我有一个更复杂的流程图,假定任何一方都会触到这个过程。
这变得极端复杂和令人费解的各种各样的原因。当我在屏幕下工作的时候,我需要允许任
何一方都需要启动过程。我意识到,Aardvark 将会有用的,从根本上简单,如果助手开始运作
的整个过程。此改变这个规格要花费一两个小时。如果我们已经更改了代码,那就会延长了
数周的计划。我不能肯定地告诉你我多么相信大设计在前场,极限编程的支持者认为深恶痛
绝。我利用 BDUF 来节省时间和做更好的产品,我很骄傲地使用它,不管 XP 痴迷者呼叫什
么。他们仅仅是错误的,在这一点上,我不能也不清楚。
在们后来的过程中发现,还有另外一个很重大改变并没有反映在可用性测试规格。经过可用性测试后,我们发现,
我们的一些关于申请专利删除自已的原则被搞糊涂。这不是什么用户期望的,我们修改我们的最终产品,从而帮助他
们去检查操作者执行而删除的一些操作,但是它并没有自动做。这样一来就大概理解计算机了,从而确保一些不安全
的可执行文件还在用户的电脑里。我认为这种操作会大概花费两个小时,因此它不影响时间表。最后,你会注意到一个
巨大的“编码”部分在中间的规格说明书里。坦率地说,这并不属于的功能规格,它应该真的是一个单独的文件。
然而,正如我意识到规格说明书的今天,我吃惊了发现一去实施 Aardvarkians 的事情是一份很好的工作。我是认
真的,我很期待我们将不得不削减特征;相反,我们想在版本 1 装载很多东西和甚至去添加一个特征去升级版本 2。
—————— Joel Spolsky, August 17, 2005
关于本规格
本规格书只是设计 Aardvark1.0 的一个起点而不是最终的蓝图。当我们开始制造产品,我们会发现很多很多的东西,它
不会完全按计划进行工作。我们将创造新的特征,我们会改变一些东西,,我们会优化代码来进行工作等等。我们会尽量
保持规格方面的最新变化。你决不应该考虑这些规格说明书是否圣洁等等。
概述
“Aardvark 工程”是一个新产品代号,在 2005 年被开发出来的。实际的产品名字各有不同的。
“Aardvark”允许人们通过因特网暂时帮助他们的朋友、亲戚和客户的计算机问题。为了将内部资料保密,我们指的是帮
助做这件事的人的助手和某人的计算机被控制的请求者。
这是一份简短的 Aarkvark 的工作过程。
1、助手去 Aarkvark 的网站去注册登记和付款。他们可以 PayPal,信用卡来支付,,这样的话他们能得到一个快速免费试
用期,或者他们可以要求请求者支付。
2。Aarkvark 会给帮手一个邀请号码。请求者的手机可以读到这个信息。
3。帮手下载并运行一个细小的软件。
4。受害人去 Aarkvark 网站输入邀请号码。然后他们下载并运行一个小块的软件。
5。软件要求得到请求者的许可并给他们的计算机控制权。
6。这个软件让帮手来控制请求者的电脑。
7、当他们进行交互时,任何一方都可以断开连接。只有当你自己退出才可以删除软件。
主要的特征
轻易上手
没有软件不需要永久安装
简单快速支付,遵守任何承诺
版本 1.0 是 window,和只需要一个合理的宽带连接
在 443 端口连接是允许的不过防火墙会警告。这是一个安全网站,和几乎每一个防火墙允许通过端口
交互
设计的目的
所有的设计和工程决定将采取以下原则,记住:简单比复杂好。
我们总是试图减少一些,用户可能会做的操作。每一个用户体验必须减少出错的机会。我们的客户会说:“这是世界上最容
易的事,它只是工作。“在任何地方,没有行话都要保留用户体验。,
主要组件
Aarkvark 的系统运行在 Fog Creek 软件支持的服务器上。下面 Aarkvark 主要有四个主要软件组件。
网站
Aarkvark 有一个数据库支持的网站可以用在网站登记,付款安排,并建立起来远程控制会议。
请求者软件
软件由请求者运行。是一个很小的、独立的窗户 EXE。请求者可以下载和分发。请求者的代码是基于 VNC 是 GPL
组成的,,所以该组件是版本在 GPL 上开发。
辅助软件
软件由帮手运行。这大概是一个小的,独立的 EXE,窗户,因此帮手可以下载并运行,但我们也可以利用 v2 Java 的助
手贯穿程序网页,或一个 ActiveX 控制项,或一个火狐扩展:无论大多数用户做的体验,帮助的代码也是基于 VNC。
反射镜
在我们的服务器的时候窗口也可以运行服务,,用于允许任何助手帮助任何受害者甚至当他们两个都有防火墙。两个助手
和受害者连接到反光镜。反射镜检查授权继电器援助者和受害者之间的消息,直到缴款时间消逝。
Aarkvark 工程的功能需求说明书
VNC 是 GPL。请求者与帮手是我们基于 VNC 来建立的两个组件。将需要在 GPL 版本的允许下。
这并没有什么大碍,代码会被我们自己高度优化和将要求反射器去工作,这样将不会下 GPL 下发布。
关于今年
我们的主要目标是即将在一个夏天里推出一个完整功能的 Aarkvark 版本。这就意味着初始版本将几
乎肯定不是最佳版本和将不完全包含每一个特征。在这个版本,符号(v2)将不能用来说明特点,这些特点将
不是一个初步的产品的一部分,但将在后面的版本里添加。
物理 体系 结构
最初的推出将在现存的网络服务器—戴尔 2850 年代—其中每一个可以处理负荷,对于 Aarkvark 本身是
必要的。该系统将高度可扩展的,所以我们可以添加额外的服务器来处理更多的负荷逐步。我们的网络服
务器和 web2 web1 命名的。如果服务很受欢迎,将迅速采取行动增加服务器。
Window NLB(网络下载分支)提供可扩展性,分配下载,和一些失效备援的能力。NLB 跟你相像的
那样简单:web1 和 web2 都有它们的 IP 地址,但是他们也可以同时共享第三个 IP 地址,
webNib.fogcreek.com(应该是网址来的),他们可以同时的决定处理他们共享 IP 地址的端口连接。当前的
系统会花费 50%去新连接每一个服务器。如果这个服务器断开连接,我们会用 100%接连其它的服务器。
我们会将 16 台服务器都保持稳定的状态。如果我们控制超过 16 台服务器 ,我们必须要开始建立 16 台服
务的区域,和使用来硬盘交换机来交换每一个台服务器。
为了防止目前的的缺陷,每一个使用者都是来自同样的地址范围内,如果可能的话,会被同时的服务
器来进行服务。NLB 的这种特征已经开始有了。
这个服务器将会在 Window Server 2003 的 sp1,IIS6 和 ASP.NET 里运行。对于数据库来说,服务器将
会使用我们已经存在的 SQL 服务机的同时 他们共享其它的一些东西。
每一台服务器都会运行在网站和反映镜(the reflector)里。
因为它会经常有必要的进行升级服务器工作,系统被设计是用来当任何服务器被卸载都不会影响其它事情和保持服务
能够正常处理工作。为了卸载一个服务器,我们需要消耗完它,允许当前所有的连接都正常使用服务。当所有新的连
接去不同的服务器时。只当一个服务都完整的消耗掉内存里,它会升级和他们保持在线。在 NLB 里消耗掉没用的代码
是很必要的工作。
因为控制会话可能会持续一段时间,它将会花费一会儿的时间去消耗掉一个服务器,可能是一个几个小时甚至几天。
我认为最好的办法去处理这些助手和请求者软件添加的代码,是如果他们断线的时候,系统会自动企图去再连接。这
种方法是当你需要去升级服务器时,你会消耗掉所有的 web 会话(这可以是 1,2 分钟的事情),和这时刚刚在 the
reflector 会话掉线和重启。助手和请求者两者都会注意到连接断开和自动通过不同的机器再重新连接。
软件体系结构
这个软件是用 C#和 ASP.net 里开发的。我们将会使用 Visual Studio.Net 2003 开发.net 的框架在 version1.1 中。
网站主页:网站页面将会是由 Asp.net 标准编译可扩展性开发过来的。我们将使用 CSS 来进行美化,但
物理结构
最初的部署将去到我们现有的网络服务器——高端,天生丽质的戴尔 2850s–每个可处理整个土
豚负荷本身如有必要。该系统将高度可扩展,所以我们可以添加额外的服务器来处理更大的负
荷。我们的网络服务器 web1 和命名
2。我们将迅速采取行动,增加服务器如果服务大众。
可扩展性,负荷分配,和一些故障保护功能,提供了实现(网络
负载平衡器)。新大屿山巴士是关于简单,你可以想像:web1 和技术都有自己的知识产权
地址,但他们也都有三分之一个地址,webnlb.fogcreek.com,并协调
在决定谁将处理每个插座连接,在共享网络
地址。当前系统的原因,50%的新的连接到每个服务器。如果一个服务器
脱机,100%的连接到其他服务器。我们可以扩展到 16 服务器
舒适的。如果我们需要规模超过 16,我们已经开始建设 16 座的服务器,并使用硬件负载平衡
器平衡各 16 块。
防止状态错误,每一个用户在从同一类范围的地址是
由同一个服务器只要是可用的。这是一个功能的技术,我们已经打开了。
服务器将运行视窗服务器 2003 中,IIS 6,和 asp.net。一个数据库,该
服务器将使用现有的数据库服务器的机器,他们分享一切。
每个服务器将运行在网站和反射。
因为它往往是必要的升级服务器,该系统的目的是使以任何服务器将不会影响其余服务器
(县)可以处理负荷。为取下来
服务器,我们需要排水,使所有当前连接使用,服务器完成,而所有新的连接到不同的服务器。
一旦服务器是完全耗尽它可以升级,然后带回在线。排水是建成新大屿山巴士没有额外的代码
是必要的,使这一工作。
(2)因为遥控会议可能持续很长一段时间,这将需要相当长的一段时间完全流失
服务器:可能是对秩序的几小时或几天。我认为最好的方式来处理这是添加代码助手/受害者的
软件,如果连接有下降的反射镜,它会自动尝试重新连接。这样,当你需要升级服务器,你可
以它所有的网络会议(这应该只需要一两分钟),然后就突然掉所有的反射和重新启动。助手
和受害者都会注意到,连接下降,
剩余28页未读,继续阅读
资源评论
怪叔叔_Wilson
- 粉丝: 36
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功