软件生命周期概念:
软件生命周期是软件的产生直到报废或停止使用的生命周期。软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。


软件生命周期举例:
B2C电子商务网站建设的一般过程
(一)系统规划阶段
系统规划阶段的任务是对企业的环境、目标、现行系统的状况等进行初步调查,根据企业目标和发展战略,确定信息系统的发展战略,研究新系统的必要性和可能性。在这个阶段给出备选方案,并进行可行性分析,写出可行性分析报告。待可行性分析报告审议通过后,编制系统设计任务书。
1、需求分析
为了进行可行性研究分析,首先对电子商务系统的需求进行分析。通过对企业的需求进行调查,明确电子商务网站需要做什么,做到什么程度。在此,通过查阅资料、实地观察、业务专题报告等方法将该电子商务网站的需求归纳为功能需求和性能需求。
功能需求:B2C电子商务网站就是Business To Consumer,也就是企业借助于Internet建立网点进行交易的一个系统。流程上,店家发布产品信息,消费者在线选购、在线支付,通过物流最后达成交易。所以从购买方看,需满足消费者在线选购、在线支付等;从销售方看,要能让店家整理网上商品、管理订单等。
性能需求:系统运行要稳定,在不同的系统中能正常运行,具有较强的适应性,可移植性。系统要有可扩展性,当出现新的需求时,能将其纳入系统,而不必改变原有的基本结构。
2、可行性分析
在电子商务网站需求已确定的情况下,对系统的进行判定,决定有无必要、有误可能完成系统的建设。在此,包括如下几个方面:运行可行性分析:考查方案在企业中合适程度,避免一个可以工作的方案由于最终用户和管理层的抵制而落选。
经济可行性分析:建立电子商务网站需要经费支出,所以在建站前要评估该开发项目的收益,分析带来的经济效益是否超过所需要的成本。
技术可行性分析:ASP电子商务网站是动态网站技术的产物,以目前计算机硬件、软件、网络,已经具备建立B2C电子商务网站的条件。
(二)系统分析阶段
系统分析阶段的任务是根据系统设计任务书确定的范围,描述系统的业务流程,确定新系统的逻辑模型。系统分析阶段的成果体现在系统说明书中。
1、业务功能分析
根据功能需求,B2C电子商务网站要由前台系统和后台系统两部分构成的。前台系统是供消费者使用的界面,在这里可以提供注册会员、查看商品、购买商品、网上支付等基本功能。后台系统则是提供给销售方,主要是进行管理商品信息、,同时要进行会员管理、配送商品、以及账务管理、报表统计等其他功能。
2、数据流分析通过绘制数据流图来帮助确定合理的数据项、确定合适的数据流向、确认合适的数据处理过程,为系统设计提供信息内容及处理依据。B2C电子商务网站的顶层流程图如图所示:
(三)系统设计阶段
系统设计阶段的任务就是根据系统说明书中的要求,设计新系统的物理模型,最终形成系统设计说明书。在这个阶段主要完成系统划分和数据库设计的工作。
1、系统划分
系统划分的基本思想是按功能角度自顶向下地将系统划分为若干个子系统,子系统再划分成模块,层层划分,逐步设计。在本项目中,B2C电子商务可以划分成登录帐户模块、浏览商品模块、购物车模块、订单管理模块、后台管理模块。
登录帐户模块:通过该模块确定用户身份,以便为下一个购物车模块提供必要的信息。同时,还可以结合客户管理,收集用户信息,如用户的年龄、所属地区、支付能力、购物偏好等。
浏览商品模块:按各商品不同类别为客户提供商品介绍。若客户满意,则点选进入购物车模块。
购物车模块:该模块存放购买商品的信息、并计算商品的数量和价格等。用户通过购物车,可以修改商品数目、退回商品。完成购物后,生成订单,进入订单管理模块。
支付模块:用户购物后可通过多种方法完成支付功能,如网上银行、第三方支付平台、线下邮政汇款、货到付款等方式。
订单模块:用户完成购物后,生成订单,在该模块中可完成货物发送前修改或者取消订单、合并或拆分订单、跟踪订单等功能。
后台管理模块:这是针对卖家,即网站管理员所设计的模块。该模块既可以根据需要统一修改网站界面,也可以根据企业需要,在网站中发布新商品的信息,还能够管理已注册的用户。
2、数据库设计
数据库的设计是系统设计的一个关键步骤。一个好的数据库不仅能反映现实世界实体之间的联系、能满足用户需求,还要易于扩充和修改。在本系统中可以建立4个基表。
产品信息表(product):该表主要用于记录商品的信息,包括商品的编号、名称、价格、类别、生产厂家、图片、供货商情况介绍等。
用户表(user):记录会员的基本信息,如用户编号、用户名、密码、真实姓名、身份证号码、电子邮件、所在地区、邮政地址、邮编、年龄、性别、薪资、住址状况、喜好等。
订单表(order_list):该表主要用于记录订单的信息,包括订单编号、订单产品编号,订单用户编号,订单金额、订单状态,下单时间等。该表分别与产品信息表、订单用户信息表存在外键约束,即一个产品可以在多个订单中,一个用户可以下多个订单。
管理员表(administrator):存储网站管理员的基本信息,如:ID号、密码、姓名等等。

(四)系统实施阶段
系统开发实施阶段要在系统规划的基础上确定整个商务系统结构中各个组成部分的具体内容,完成应用软件系统的编码,最终将电子商务系统的应用软件和各种平台集成在一起,并购置、安装和调试计算机设备,完成电子商务系统的上线运行准备。
1、编写模块:根据前面的系统设计说明书,确定需要用的技术来构筑电子商务平台,并完成应用软件系统的编码。
本网站主要采用ASP技术编写所需模块。[3]ASP技术类似HTML、Script与CGI的结合体。它是位于服务器端的脚本运行环境,通过这种环境,可以创建和运行动态的交互式Web服务器应用程序。其拥有如下优点:可以和HTML或其他脚本语言(VBScript与JavaScript)互相嵌套;在Web服务器端运行,因此,程序代码完全保密;以对象为基础,因此可以使用ActiveX控件继续扩充其功能;内置ADO组件,可以存取各种数据库,大大缩短了程序开发时间。
在具体开发中,依据系统设计阶段的划分情况,完成各模块页面的代码。
登录帐户模块:用户登录页面login.asp,买家通过用户名、密码登录。新用户注册页面reg.asp,由新用户登录并填写相关信息,其中用户名、密码、真实姓名、邮政地址、邮编为必填内容。为了避免同一用户多次重复注册,增加身份证ID和电子邮件审核,避免出现相同用户名、ID、电子邮件。同时,在注册页面和登录页面都加入验证码,防止机器批量注册和暴力破解。
浏览商品模块:在网站中向买家展示各种商品的详细信息。
用户可根据类别、品牌浏览商品,并具体查看某一商品的详细信息,也可以输入所要查找的商品名称或种类,即启动查询页面seek.asp。
购物车模块:添加商品到购物车。找到所要购买的商品后,点击购买。启动购物车模块cart_add.asp,记录所购商品的信息,如商品编码、购买数量、单价等。点击购物车,即启动cart_show.asp,显示商品信息,如商品名称、单价、购买数量、应付总金额等。此时,若返回网站继续购物或修改购买数量都会启动cart_update.asp页面,修改购物车中相关信息。
支付模块:用户购物结束后,可点击收银台,进入支付模块。
多种支付方式可供选择:网上银行支付、第三方平台支付、邮政汇款、货到付款等。以近年来颇为流行的第三方支付平台"支付宝"为例,传递参数到相关页面即可完成在线支付。相关参数如下:支付接口gateway (https://www.alipay.com/cooperate/gateway.do?)、 服务参数service、合作商伙伴编号partner、时间out_trade_no、商品名称subject、商品描述body、支付类型pay-ment_type、价格price、展示商品地址show_url、用户帐号sell-er_email、安全校验码key、重定向地址return_url、数量quantity等。其中,合作商伙伴编号、安全校验码在注册支付宝之后,可"我的商家服务"里面可以获取。
订单模块:启动订单模块order_add.asp,根据购物车模块的信息以及用户信息,如用户编号、姓名、邮政编号、邮政地址等信息生成订单。若用户未登录,则会跳转到登录界面。订单or-der_show.asp可显示该订单的相关状态,如订单未支付、订单已支付、订单发送中、订单已完成,以及订单中所选购商品的名称、价格、数量、收货人、收货地址等信息。如果需要,可以通过or-der_update.asp更改订单的收货人、收货地址等。
后台管理模块:商品管理子模块,卖家对商品的管理,查看商品目录、增加商品品种、清除淘汰商品和修改原有商品信息等。订单管理子模块,可以控制订单的执行、跟踪订单的状态。会员管理子模块,管理用户账户,包括查看审核会员资料、更新会员资料和删除不合法会员等。
2、构建硬件平台:根据各类技术标准,选择合适的硬件构建网站运行的平台,即其运行所需要的软硬件环境。
机器硬件可以选用奔腾(R)双核处理器E2220,2.4GHz、1000M网卡、内存1G、硬盘SATAII 160G。操作系统可以选用Windows2003,WindowsXP等。
本系统是基于WEB的采用ASP技术的B2C电子商务网站,首先,在本机安装配置IIS,使之能读取和运行脚本,并设置网站默认打开文件为index.asp。架站完成后,在IE浏览器地址栏输入 http://localhost, 调试站点。
(五)系统测试和维护阶段
系统测试阶段的目的是为了发现系统中存在的问题,需要测试系统的功能是否满足设计的需要,判定系统是否存在各种程度的错误或漏洞,测试的内容包括软件整体测试、极限测试、可操作性测试等。对于电子商务而言,主要考虑系统整体性能的指标参数,例如系统可支持的最大的用户数、系统的压力与性能比、系统的安全性指标等。在系统测试之后形成系统测试分析报告。
1、系统测试
测试时,我们采用本地端架站的方式,通过在网络内部进行测试。把所有的设计文件全部完成并初步修正后,将完整的内容一起上传到预定的空间,最后进行实际的联机测试。
2、运行和维护
运行不仅仅是指电子商务网站投入运行使用,更为重要的是企业在一种新的商务模式下运转,包括相应的维护、管理以及基于系统的市场、销售、财务等基本商务环节的动作与组织。网站维护不仅包括对网站正常运行的维护、管理性工作,更主要的是对网站内容的更新、修改方面的网站建设。对于不能修改或难以修改的问题记录在案,定期整理成新需求建议书,为下一周期的系统规划做准备。
根据软件开发过程中软件生命周期原理的应用,通过对B2C电子商务网站建设的现状及其特点的分析,不难看出:要开发一个成功的电子商务网站,必须利用软件生命周期原理,分阶段按步骤有条不紊的实施,才能在网站的开发中提高效率,提高其稳定性、可靠性、可维护性和用户满意度,取得事半功倍的效果。

软件灾难
1)水手号(Mariner) 的致命BUG (1962)
损失: 1850 万美元
灾难:携带空间探测器的水手1号( The Mariner 1)火箭前往金星,在起飞后不久就偏离了预定航线。任务控制在起飞293秒后推毁了火箭。
起因: - .名程序员把-条手写的公式抄写为错误的计算机代码,漏了一个横杠上标。少了横杠指明的平滑函数,软件就把速率的正规变分视为严重情况,自然就导致了错误修正,将火箭引导偏离了航向。
2)哈特福德体 有场倒塌事件(1978)
损失: 7000 万美元,以及给当地经济造成的2000万美元损失。
灾难:成千上万的球迷离开哈特 福德体有场仅仅过了几个小时之后,钢结构的体育场屋顶
就被湿雪压垮了。
起因:CAD软件的程序员在设计体育场时通常错误地假设钢结构屋顶的支撑仅承受纯压力。但当其中的一个支撑意外地因大雪垮塌后,引发了连锁反应,导致屋顶的其余部分像多米诺骨牌- - 样相继倒掉。
3)中情局给苏联送天然气(1982)
损失:数百万美元,严重破坏了苏联经济
灾难:控制软件出 了故障,造成跨西伯利亚输气管道压力急剧上升,导致了地球历史上最大的人为非核爆炸的产生。
起因: 据称CIA侦探在苏联购买的用于控制输气管道的加拿大计算机系统内植入了一个BUG。这项购买是苏联战略计划的一部分,用F盗窃或秘密获取敏感的美国技术。CIA 发现这桩买卖之后破坏掉软件以便其能通过苏联的审查,但却会在操作时失败。(更多)
4)几乎引发第三次世界大战(1983)
损失:将近全人类的毁灭
灾难:苏联预警系统误报美国发射 了5枚弹道导弹。幸运的是,苏联的执勤官认为如果美国真的要攻击苏联的话,发射的导弹肯定不止5枚,因此他把这次明显的攻击报告为一次误报。
起因:苏联软件的一一个BUG,对于因阳光反射云顶而导致的错误导弹侦测的过滤失败。
5)医疗器械致死案(1985)
损失:死亡3 人,严重受伤3人
灾难:加拿大的 Therac-25放射治疗仪发生故障,令病人受到了致命的辐射。
起因:由于一个 称为竞态条件(race condition)的细小BUG,一名技术人员可能在病人尚未进行适当防护的情况下意外地将Therac-25配置为高能模式。
6)华尔街崩溃(1987)
损失:一日之内损失5000亿美元
灾难:在 “黑色星期一(1987年10月19日)这一天里,道琼斯平均工业指数直落508点,总市值损失了22.6%。标准普尔(S&P) 500掉了20.4%。这是华尔街有史以来单日损失最大的一次。
起因:一轮长期牛市因证交会对内幕交易的系列调查以及面临的其他市场压力嘎然而止。:随着投资者蜂拥逃离市场,计算机交易系统产生出海量卖单,把市场压垮、令系统崩溃,导致投资者彻底不知所措。
7) 电话断网 AT&T(1990)
损失: 7500 万个电话呼叫丢失,20 万分机票预订不见。
灾难: AT&T的114个交换中心中的其中一个里面的一台交换机遭遇到一个很细微的机械问题,导致中心宕机。该中心恢复后,向其他中心发送了一条消息,从而导致其余中心全部关闭,造成整个AT&T网络瘫痪了9个小时。
起因:在一次复杂的、 用于加速呼叫的软件升级里面的一小行错误代码引起了连锁反应,瘫痪了整个网络。
8)爱国者辜负了 战士(1991)
损失:造成28名士兵死亡,100人受伤
灾难:第一次海湾战争期间, 位于沙特的一个美国爱国者导弹系统拦截入侵的伊拉克飞毛腿导弹失败。导弹摧毁了-一个美军兵营。
起因:一个软件的取整错误导致计时不正确,令爱国者忽略了飞毛腿导弹。
9)奔腾的长除法缺陷(1993)
损失: 4亿7500万美元及公司信誉
灾难:英特尔高速的奔腾芯片进行特定范围内的浮点数除法运算时会偶尔出错。比如说,4195835.0/3145727.0得到的结果是.33374而非1.33382, 出现0.006%的偏差。尽管该错误只会影响到极少数用户,这还是成为了一次公共关系器梦。估计有500万个有缺陷的芯片需召回,英特尔却只愿意向那些能正明自己需要高精度计算的消费者提供替换。最终英特尔不得不为任何有抱怨的人更换了芯片。
起因: 奔腾浮点单元的除法器有一个有缺陷的除法表,丢失了1000项记录中的5项,导致取整错误。
10)阿丽亚娜火箭爆炸(1996)
损失: 5亿美元
灾难:阿丽亚娜5 号,欧洲最新的无人驾驶火箭,在处女航开始數秒钟后被人为推毁。随之一并被摧毁的还包括所运载的用于研究地球磁场如何与太阳风互动的4颗科学卫星。
起因:导航计算机试图将侧面火箭速率从64位转换为16位时关闭。数字太大了,导致了溢出错误。导航计算机关闭后,控制被移交给同等的冗余单元,却也由于运行同-算法而同样失效了。
11)天网带来了世界末日(1997)
损失: 60 亿人死亡,人类文明和动物生态系统几乎全部毁灭( 小说)
灾难:人类操作员试图关闭天网全球计算机网络。天网以向俄罗斯发射美国核导弹作为回应,从而引发了全球核大战,即众所周知的审判日(1997年9月29日)。
起因:赛 伯达因(Cyberdyne), 领先的武器制造商,在所有的武器装备( 包括隐形轰炸机和导弹防御系统在内)上面都安装上了天网技术。天网技术组成了一个无缝的网络,能有效地将人类从通过战略防御中清除。最终天网有了知觉,在受到人类试图让其下线的威胁后,为生存,以核战争进行报复。
12)火星气候探测器坠毁(1998)
成本: 1.25 亿美元
灾难:离开地球经过286天的旅程之后,火星气候探测器点燃了自己的引擎以便推进到火星轨道。引擎是点燃了,但宇宙飞船落入火星大气层太深了,似乎导致其坠毁到火星上。
起因:控制探测 器的推进器的软件使用英制单位(确力,pounds of force),而非NASA规定的公制单位(牛顿)。
13)灾难研究(1999)
损失:科学信誉
灾难:在这 个讽刺性的案例中,用于分析灾难的软件自己遇上了一场灾难。《新英格兰医学杂志》报道,在几场自然灾难发生之后,自杀率上升了。不幸的是,这些结果是不正确的
起因:一个编程错误导致了年自杀数字翻番,足以推翻整个研究。
14)英国护照不知所踪(1999)
损失: 1260万英镑,巨大的麻烦
灾难: 英国的护照机构实施了一套 新的西门子计算机系统,该系统却无法及时为50万英国公民发放护照。该机构不得不支付了数百万进行赔偿,员工加班补偿,以及为冒雨排队等待护照的人们提供雨伞。
起因: 未经充分测试或员工培训护照机构就推出其新的计算机系统。同时,一项修改的法律要求16岁以下儿童出国旅游时需获得护照,结果导致护照需求急剧飙升,压垮这套错误犹存的新计算机系统。
15)千年之殇 Y2K (999)
损失: 5000 亿美元
灾难: 正如非著名的2000年臭虫所展示出来的东西那样,汝之祸乃彼之福。商业机构向程序员支付了数十亿美元,以便修正遗留软件的小错误。由于没有出现什么重大的失误,为千年问题所做准备的成本和时间极大地影响了所有使用计算机技术的行业。
起因:为了 节省计算机存储空间,旧时的软件通常以2个十进制数字表示年,如用“99”表示1999。软件同时将“00” 解释为1900而非2000,因此,当2000年到来时,麻烦来了。
16)炸弹(Dot-Bomb) 崩溃
损失: 5 兆元的市值损失,成干家公司倒闭
灾难: 1995 2001年间的投机泡沫令风险投资和互联网技术板块的股票市值迅猛增长。“网络泡沫( dot- com bubble)"在2000年初开始破裂,损失了数兆元的股票市值,成百上千的公司和工作被一扫而光,井引发全球衰退。
起因:公司和投资者均置标准商业模型F不顾,而是以辆牲利润为代价,关注于增加市场占有率。
17)爱虫病毒(2000)
损失: 87.5亿美元, 上百万计算机被感染,大量数据丢失。
灾难:爱虫病毒感染了 数百万台计算机,所造成的损失超过有史以来任何其它病毒所为。这种蠕虫会删除文件爱你,更改主页并弄乱注册表。
起因:爱 虫通过电子邮件、互联网聊天及文件共享系统感染用户。电子邮件有一个可执行的附件和-一个名为“我爱你"的主题行。但用户打开附件时,病毒就会感染用户计算机然后将自己发给地址簿上的每-一个人。
18)为癌症治疗 而死(2000)
损失: 8人死亡,20人严重受伤
灾难:由于 多路数据系统国际( Multidata Systems International )的放射治疗软件计算药量的错误,导致思者遭受到了有害乃至致命的辐射。负责复检软件it算的医生被起诉为凶手。
起因:软件依据数据输入的次序来计算辐射用量,有时候会带来双倍的辐射量。
19) EDS放弃了对儿童的支持(2004)
损失: 5.39 亿英镑和计数
灾难:商业服务巨头 EDS为英国儿童抚养机构(Child Support Agency , CSA)开发的一个计算机系统意外地给190万人多付了款,又少付款给另70万人,还有35亿英镑的儿童抚养费未收款,积压的待办事宜达23.9万件,有 3.6万件新的案子“卡”在系统上,以及500个被记录的错误。
起因: EDS 为CSA引入了一个复杂、大型的IT系统,还是试图同步对CSA进行重构。
20)FBI 的三部曲终结(2005)
损失:花费1.05亿美元后尚无有效的个案档案管理解决方案
灾难:经过4 年的努力,FBI 最终放弃了对其计算机系统的大检。虚拟个案档案项目是一-个集成的大型软件系统。

 

posted on 2019-09-28 21:06  123王  阅读(338)  评论(0编辑  收藏  举报