目录ECShopN—B2C网店系统项目开发总结报告0637101_班丄组哈尔滨工业大学软件学院2008年9月目录-I -目录-I -目录第1章引言 11.1编写目的 11.2背景-I -目录1.3定义 1.4参考资料 第2章实际开发结果 32.1产品 322主要功能和性能 62.3基本流程 72.4进度 82.5费用 9第3章 开发工作评价 103.1 对生产效率的评价 103.2对产品质量的评价 103.3对技术方法的评价 103.4出错原因的分析 11第4章实验与教训 14-I -第1章引言第1章引言1.1编写目的编写这份项目开发总结报告的目的,是为了让开发人员和用户对开发 的过程有一个总体的了解,并通过该报告对软件开发过程中的所有工作做一 个总结和概括,以及对开发过程中的不足做一个汇总为以后的维护工作奠 定基础该报告的预期读者:开发人员、项目负责人和用户1.2背景软件系统的名称:ECShopNT — B2C网店系统任务提出者:本开发小组全体成员开发者:本开发小组全体成员用户:网店经营者安装此软件的计算中心:网店经营者购买的服务器1.3定义BS: Browser&Server.B2C : Buss in ess to Clie nt.ECShopNT : E-commercial shop at NT system;Win32 : windows 32位操作系统1.4参考资料1项目开发组•项目开发任务书. 2008年9月2项目开发组•项目可行性研究报告. 2008年9月3项目开发组•项目开发计划. 2008年94项目开发组•软件需求说明书. 2008年95项目开发组•概要设计说明书. 2008年96项目开发组•详细设计说明书. 2008年97项目开发组•测试计划分析报告. 2008年98项目开发组•用户手册.2008年92008年9月9王延青.06级本科软件工程课程设计指导书.-2 -第2章实际开发结果-3 -第2章实际开发结果第2章实际开发结果2.1产品最终的系统,包括:(1) 共有一个版本。
2) 文件组织形式如下图:irTlilUb+ _j admin+ 扇 App_Code十 一 Appjat a+ 口 App^ThemesNt Bin十 一i ByteChen+ _| default匸@]@同圄旨国皙回戲斟 &a"afialS3 丄 fi-:3:a:a: i厂 l!ll"';・ILj」jE 丁ILj」+ ECShopHT + ZJ install + 一J Ji ang^o uplo^dJmage AJDONET. aspx checkbox, aspx Default. aspK inde^FageSql. sql modules, txt pluginFram电-txt SQLTool^." test, aspsc Web, Coiifig Web. sitemap图2-1文件组织结构(3) 所建立数据库如下所示Admin_login :管理员帐号管理,有管理员帐号和密码构成表 2-1 Admin login;字段名称数据类型主键idIntUsern ameStri ngpasswordStri ngBuyGood :存储购物车上的物品以及付钱后存储已售商品的信息表 2-2 BuyGood字段名称数据类型主键goodIdInt(自动增加)购物车商品主键userIdInt会员IDcoIdInt商品IDcoNameStri ng商品名称goodPriceInt购买价格goodNumInt购买数量goodM oneyInt购买总价goodStateInt购买状态goodI nDateDate放入购物车时间Class :管理分类。
表 2-3 Class字段名称数据类型主键sortIdInt(自动增力口 )类的IDsortNameStri ng类的名称Commodity :存储商品的基本信息表 2-4 Commodity字段名称数据类型主键coldInt商品IDcoNameStri ng商品名称sortIdInt商品种类coMoneyInt商品价格coVipM oneyInt会员价格coSumInt商品库存coSelledInt商品卖出数量coPictureStri ng商品图片URLcoC ontentStri ng商品描述compa nyStri ng生产商GetGood:获得商品的方式表 2-5 GetGood字段名称数据类型主键getIdint送货方式getNameStri ng名称getM oneyInt邮费Order:帐单的管理用于存储结帐后的帐单信息表 2-6 Orde r字段名称数据类型主键orderIdInt订单IDuserIdInt用户IDgetGoodStri ng收货方式setM oneyStri ng付款方式in DateDate订单日期FlistStri ng是否要发票ContentStri ng备注MoneyInt总金额poMoneyInt邮费StateBoolea n是否发出商品SetMo ney :付款方式。
表 2-7 SetMoney字段名称数据类型主键getIdInt付款方式IDgetNameStri ng名称User:会员用户管理,用于管理用户的基本信息表 2-8 User字段名称数据类型主键userIdInt (自动增加)用户IDuserNameStri ng用户名PasswordStri ng用户密码EmailStri ng邮箱Questi onStri ng密保问题An swerStri ng密保答案reNameStri ng真实姓名SexBoolea n性别AddressStri ng地址PhoneStri ngVipInt是否为会员Webinfo :网站的基本信息设置-6 -第2章实际开发结果表 2-9 Web Info字段名称数据类型主键webUrlStri ng网址webNameStri ng网站名称webEmailStri ng网站邮箱PostStri ng网站邮编copyRightStri ng版权webLogoStri ng网站logoAddressStri ng网站地址2.2主要功能和性能本产品所具有的主要功能如下所示:会员信息管理:1) 会员注册和登陆;2) 个人信息和密码的修改;3) 会员订单的查看;4) 会员购物;管理员信息管理:1) 系统管理;2) 模板管理;3) 商品管理;4) 订单管理;5) 报表管理本软件所具有的主要性能如下所示: 精度:输入精度如下表所示:表2-1输入精度输入数据名称精度要求用户名称20个字符以内用户密码6-20个字符之间用户邮箱必须符合邮箱的标准格式MSN必须符合邮箱的标准格式必须是数字组合输出精度如下所示:表2-2输出精度输出数据名称精度要求列表中每页元素个数15个以内用户密码加密格式金额保留两个小数点传输过程中的精度如下所示:表2-3传输过程中精度输出数据名称精度要求浮点数Double类型的精度汉字编码之间的转换保证不乱码时间特性:(1) 用户提交请求后,相应时间不超过 3秒;(2) 更新处理时间不超过 4秒;(3) 数据的转换和传送时间不超过 2秒;(4) 解题时间不超过4秒。
灵活性:报表可以在多种操作系统上浏览、打印 系统可以在windows, Linux等操作系统平台下运行 系统的数据库可以转换为别的数据库系统可以进行进一不的扩充,通过添加插件扩充现有的系统 把有可能变动的参数存放到配置文件或数据库中,保证修改参数的灵 活性对照可行性研究报告、项目开发计划、功能需求说明书和测试分析报 告,原定的开发目标达到了、所有以上所列功能全部实现2.3基本流程本系统分为前台购物流程和后台订单处理流程图2-1前台购物流程图图2-2后台购物流程图2.4进度预定计划进度如图 2-4和图2-5所示实际进度和原定计划进度提前了开始的可行性分析、需求分析、概要设计和详细设计和原定计划一样 编码提前了 3天,单元测试和集成测试提前了一天整体提前完成 0.5天ami日-二刃月叱 口圄年9月:忙 2D0E年9月21H 200B年9月2阳'二|三酉五向日一匚三㈣五窝'冃F匚三㈣五*〔EL二三阻五応可冊分析 需剰播日 s S日日5 5 15 3E00m^16S 蚊8审月IT日 2K)摒臨r日 味8年哽1汨 血毎月妙姜鼠陈蛊蔻李亀王压美点程 翱蛊姜旣李朿霜程,王压美姜暮李聲点毘王雷! 底志蔻李驚,姜13箪元濂t | Q.B3工隹可 200睜月25日删.1.试[醍1.25 IltS 旳毎月25日贴诵却N O.5T1t0 血跻胱日翳 0.5 IltB 200659月曲日q5©瞬”壬蹴无臨志蛊 Bi姜鼠李薛-10 -第2章实际开发结果-# -第2章实际开发结果图2-4项目原进度安排-# -第2章实际开发结果0任务塔称开跆町E )1心可行性分析0.5 ifta2008^9^1602需求分析0 5lftE2008年 9 月 ITE3/]ifia赠年朝阳4V详朗设计1.5 1ft E20oa年g月祚532.83 Ifta俪年阴旧日6/单元谢试]ifta泗年9月負日Ty集删试,霹i工炸2Doa年明囲E8os itta俪年阴空日g0.5 ifta2008年9月25日2008^9)328 口2D0J丹月 T 口 20084些 14 口 200849 月刚口二三四五时耳H二㈢H面知日H三叵価五丙阳卜㈡三IM五丙旧卜耳姜暮陈蛊恚李鶴鶴 王堪養 苗卢吉蕊菱亂 軒[鵰」王n徒 缽讎憩姜臥李鹭 輕.王曝志蛊,姜車廉志恙主IK尧苗程io图2-5项目原进度安排2.5费用预定计划费用:(1) 研究:需求分析和设计阶段主要的支出费用为人力投入。
2) 开发计划与测量基准的研究:项目规划期间主要投入为人力投入3) 数据库的建立;数据库采用免费的 SQLSever 2005 express,只需投 入人力搭建数据库系统4) 检查费用和技术管理性费用:系统拟采用 VSTS Test Edit on进行测试,采用Visual SourceSafe2005进行协同开发控制,而以上两个软件均为付 费软件,需要一次性购买所有软件均来自于绿盟,所有软件均为破解版软件,所以无费用支 出所有开发人员均是资源参加,没有费用开支开发过程和技术后需要有 文档的支出费用,暂定为 50元实际支出费用:此项目的软件均来自于绿盟,所有软件均为破解版软件,所以无费用 支出所有开发人员也没有费用支出但是过程中用到的文档支出费用 30元所以费用节余了11 -第3章开发工作评价第3章开发工作评价3.1对生产效率的评价原定计划:(1) 程序的平均生产效率:500行/天;(2) 文件的平均生产效率: 2000字/天;实际生产效率:(1) 程序的平均生产效率:550行/天;(2) 文件的平均生产效率:2500字/田;生产在过程中,由于有些是原来没有想到的需要的完成的工作,所以 必须比原定每天多完成一些工作。
生产效率基本符合要求3.2对产品质量的评价在测试中检查出来的程序编制中的错误发生率,即每千条指令(或语 句)中的错误指令数(或语句数)是每千条语句中的错误语句数为 0-至2条可见产品质量,无论是在在功能方面还是在性能方面基本上满足原订的 质量保证计划3.3对技术方法的评价开发过程中使用的技术有:结合ASP.NET的三层架构:将需求分解,实现上分为表示层,业务层 和数据层,并且在后台部分数据上采用了 VS的dataDesigner将数据包装成对象,形成了一个持久层数据库独立性:基于三层架构以及数据层的封装,我们将数据库配置 文件包装早配置文件里面,如果要改动数据库,我们的工作量是进入配置文 件修改三个字符串,然后点击保存插件接口开放机制:本网站预计开发为一个开放 API接口的系统,只是时间有限,插件开发时间不允许,但是我们的系统初始架构已经是面向插 件架构的,其中体现明显的是网站的换肤结构网站换肤机制:网站分为前台后台两部分,换肤机制是针对前台的 网站管理员可以通过给定的约定自行订制自己网站的主题,上传主体文件, 选择,然后换肤成功换肤操作简单易懂,只要修改简单的数据就可以得到 不同风格的网站主页,网站开发期间由于时间因素,自行只开发了两套简单 的主体提供选择,最大的自由度留给了管理员。
界面自由拖拽布局:网站首页采用了自由的拖拽布局模式,首页完全 的模块化,管理员可以自由的管理首页模块的布局,关闭当前不需要的模 块,将热门的模块拖拽至最前面,这样的操作只要简单的记下鼠标操作就可 以完成报表生成:本系统采用了第三方插件来生成曲线统计图,曲线图可以 使JPG,PNG或者GIF格式的,由于时间仓促,我们采用了默认为 GIF的格式开发中用到的工具有: Visual Studio 2005,SQL Server 2005, VisualSourceSafe技术评价:本次开发过程中从现今流行的三层架构到 Web上正在慢慢升起的插件架构模式,从流行的网站换肤功能再到越来越流行的模块布局理 念,这次的开发都融入我们对于当今技术的理解和融合并且就我们个人对 课程设计本身目的的理解,我们认为我们不应该总是满足于了解基本的技术 手段,这样才能学到更多地知识,所以不管这次最终结果怎么样,我们对自 己的技术评价都是满意的3.4出错原因的分析错误一:在处理DIV布局的时候再IE7和fireFox上面的现实结构出现了不同原因分析:IE7.0在解释标记语言的时候内部做了很多的简化,根据自 己的特性而做了很多的设置,比如对于百分制布局的划分上面 IE经常不能精确的定位,但是 FireFox对比及语言的解释支持非常好,所以出现了预览 页面的时候出现了不一致的情况,解决办法就是折中布局,表格布局,预留 空间布局。
错误二:GridView现实数据并且开启删除功能时抱错,错误信息现实,没有给 出标量变量原因分析:GridView毕竟只是一个机器辅助的控件,绑定数据源的时 候需要制定操作的主键,语句如下: DataNameKey= ”key”这样控件的一些操作就会根据这个逐渐来进行识别,从这一点看来,这个错误最底层的抛出 者应该是数据库,因为删除数据的时候主键识辨模糊,操作自然不知所措 不过微软的人性化设计,这个空间具备部分的记忆功能,如果你在前一次设 定了 DataNameKey的话,下一次可能他自己找到那个东西了错误三:插件机制实现的架构中,将应用程序编译成动态链接库的时候会出现找 不到接口命名空间的问题,为什么呢?我命名将命名空间导入进取了阿!原因分析:编译一个文件的时候通过命令行窗口进行了,这样就脱离的 插件程序的上下文环境,于是我们需要手动的提供一切插件程序需要的外部 信息,那些系统内部需要的命名空间就不需要管理了,说到这里,我们需要 进行编译的不仅仅是插件程序,还要借口程序代码,这样才能得到最终的 dll文件错误四:插件生成成功,我现在要引用,我的插件放在 plug文件夹下面,我在宿主程序里面通过反射机制来加载我的插见,可惜加载总是失败,失败信息 是,找不到我指定的插件。
原因分析:要了解这个原因首先要理解通过反射机制来加载插见的原 理,在给定插见路径的时候,我详细的更定了插件的绝对路径,并且在主程 序里面应用了 plug这个命名空间,错误就在于我给定的这个命名空间的目 的是什么?意义是什么?我根据常规程序的流程给定了命名空间,在之前的 代码程序中,这显然是正确的,但是在使用了反射机制加载 dll之后,我们程序已经属于了插件列表了,这样一来,反射机制虚拟出一个目录来饮用插 件,并不需要导入plug这个命名空间,所以这里无法找到制定的空间了错误五:如果我真的把那么多的小错误或者打错误一次的列举出来,那么我就翻 了一个最大的错误原因分析:经过我粗略的估计,编码的七天中,每天我犯的错误大概在诗词左 右,包括表示层,也包括数据层,甚至包括 VSS的并发错误,或者认为了失误,三个人编码,这样算来,大概有 200个错误需要写下来,平均一个错误需要三分之一页 A4纸来说明原因,那么单单说完我们的错误就需要200/3大概66页纸,加上其他的报告,那么我们将找不到合适的文件夹来 装饰我们所有的文件,更加找不到有耐心的老师来关心他们又经历过的那些 林林总总的小错误!也就是说,即使写下来了,也是一件很不经济,很不现 实,很傻很天真的事情,所以我能挑选了四个典型的问题说出来,作为这个 问题的解决方案。
15 -第4章实验与教训第4章实验与教训经过本次的项目开发,共总结出以下两点经验教训:首先,项目的开发依赖着测试软件开发过程中,测试与开发流程正在趋于融合如测试活动的早期展 开,让测试人员参与用户需求的验证,参加功能设计和实施设计的审核再 比如测试人员与开发人员的密切合作,随着开发进展而逐步实施单元测试、 模块功能测试和系统整合测试随着软件的规模和复杂程度迅速提高,这种 形式上的融合也迅速走向更深层次,更具实际意义具体地说这种融合就是 整个软件开发活动对测试的依赖性传统上认为,只有软件的质量控制依赖 于测试,但是现代软件开发的实践证明,不仅软件的质量控制依赖于测试, 开发本身离开测试也将无法推进,项目管理离开了测试也从根本上失去了依 据这种测试与开发流程日益融合的趋势使得我们在软件开发的过程中更应 该重视测试,将测试看作是完善开发的不可缺少的一部分加入更多的测试 人员到项目的测试中去,而不是一个人从头测到底;加入有测试经验或者项 目开发经验的人员进入到项目的测试中去,而不是我们一般的做法:如果你 不会编程,那你就去测试吧其次,项目开发过程中,文档很重要项目文档之所以重要,不仅仅是因为文档记录了项目的进展过程,更重 要的是项目文档表现出了项目团队的工作作风以及工作效率。
同时项目文档 的收集汇总,对于项目而言,是过程资产,对于项目组而言,是资源和财 富在项目开发过程中,应该按要求编写好下面几种文档,文档编制要求 具有针对性、精确性、清晰性、完整性、灵活性、可追溯性16 -。