小型电商平台的项目估算

  • 四、项目估算
    • 4.1 简介
    • 4.2 规模估算
      • 4.2.1 代码行估算方法
      • 4.2.2 功能点分析方法
    • 4.3 工作量估算
      • 4.3.1 COCOMO方法
      • 4.3.2 基于用例的工作量估计
      • 4.3.3 不同场景的估算方法
    • 4.4 资源估算
    • 4.5 工期估算和安排
    • 4.6 成本估算
    • 4.7 风险估算

四、项目估算

4.1 简介

项目估算是针对软件开发的规模、工作量、成本、进度等进行估算,这些估算是发生在项目实施之前,即在计划过程中完成。项目估算是基于历史数据、经验和一定的方法来完成的,由项目的目标、工作范围、产品规模、业务逻辑和采用的技术等决定。

4.2 规模估算

4.2.1 代码行估算方法

LOC指所有可执行的源代码行数,包括控制语句、数据定义、数据类型声明、等价声明、格式声明等。
把小型电商平台项目划分为若10大模块,分别计算每个模块的代码长度,所有模块代码行之和即项目的代码长度。
LOC估算表包括:
每个模块的代码长度估算值=(乐观值+4*可能值+悲观值)/6
估算工作量=代码总估算长度/估算生产率

4.2.2 功能点分析方法

外部输入数(EI):在小型电商平台系统中,前端中所包含的外部输入数包括用户注册登录时所输入的信息,用户进行商品评价时的输入信息以及在修改用户个人信息时所包含的外部输入信息;而在后台中所包含的外部输入数只包含管理员在登录以及修改个人信息时的输入信息。因为我们所做的项目为小型项目,所以用户注册数为5000左右,而管理员人数一般只在1-2人左右。
外部输出数(EO):在小型电商平台系统中,前台输入信息包含商品输出信息,购物车信息和订单信息,商品信息大约有500多条,购物车信息大约有6000多条,订单信息包含6000多条,后台包含商品输出信息(商品类型信息、商品图片信息、商品状态信息、商品参数值管理信息),包含500多条,用户输出信息和订单信息,用户输出信息包含5000多条,订单信息包含6000多条。
内部逻辑文件(ILF):是每个逻辑的主文件,内部逻辑文件是指一组以用户角度识别的,在应用程序边界内且被维护的逻辑相关数据或控制信息。ILF的主要目的是通过应用程序的一个或多个基本处理过程来维护数据。在小型电商平台中所包含的内部逻辑文件是订单和客户,订单信息包含6000多条,客户信息包含5000多条。
外部接口文件(EIF):包含硬件接口、软件接口和通讯接口
外部查询数(EQ):一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。在小型电商平台系统中外部查询数包含统计订单和上架产品统计。
功能点估算方法如下:第一步是计算基于下面公式的功能数 (FC):
FC = ΣΣ wij × Xij
wij是根据不同的复杂度而定的五个部分的加权因子,Xij是应用中每个部分的数量。
第二步是用一个已设计的评分标准和方案来评价14种系统特性对应用可能产生的影响。然后将这些特性的分数(从0到1)根据以下公式相加以得到修正值因子(VAF):
VAF = 0.65 + 0.01 ΣCi(Ci是系统特性的分数)。
最后,功能点数可以通过功能数和修正因子的乘积得到:FP = FC × VAF
其中内部逻辑文件(ILF)和外部接口文件(EIF)的复杂性是取决于RET(Record element type)和DET(Data element type)的数量。
对于ILF订单来说它的DET就是13个,对于ILF客户来说它的DET就是11个,对于ILF订单的RET是2个,对于ILF客户来说RET是2个。

根据表可知小型电商平台的ILF/EIF复杂度是低的。

4.3 工作量估算

基于小型电商平台系统的实际情况,这个小型电商平台系统可以初步分为3个阶段来完成。
第1阶段,着重处理小型电商平台系统的前端问题,把系统运行起来,重点放在小型电商平台系统的购买功能上,还包括注册、登录、查看订单、评价等流程(期限一月,可以在上课期间进行开发和实现)。
第2阶段,完成小型电商平台系统的后端管理,如登录管理、用户管理、商品管理、订单管理、业务销售管理等,可以在第1阶段开发期间同步进行。

4.3.1 COCOMO方法

Ea=ai(KDSI)biEAF=3.2(7.6)1.12=29.08人月
其中,E是以人月为单位的工作量(Effort Applied),KDSI是估算的项目源指令条数(以千代码行数为单位)。系数ai、 bi、ci,和di由表给出。像这样的模型,其估算误差可能在20%左右。

4.3.2 基于用例的工作量估计

在使用这个方法来计算工作量时,在小型电商平台中最主要耗时的是网上购物这一模块。
(1)入库处理

(2)浏览处理

(3)支付处理


综上所述,此小型电商平台共有13个类及2组件,一个组件有20个用例,,每个类的代码行数为7020=1400SLOC,而每个组件的代码行数平均为14008=11200SLOC,按人月3734SLOC计算,3个人月可以完成一个组件。一个组件为20个用例,每个用例的工作量是0.4人月,即约72小时。

4.3.3 不同场景的估算方法

场景一:基于详细需求的经验估计
场景描述:
(1)只有详细需求,没有历史数据
估算步骤:
(1)利用WBS分解,将任务分解到一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。
(2)采用经验法估计每个活动的工作量;
(3)汇总得到:每个阶段的工作量、项目的总工作量。
场景二:由编码估算整体
场景描述:
(1)有类似项目的历史数据
(2)有编码活动的生产率数据
(3)有详细需求
(4)实施了CMMI2级,但是没有积累历史项目的工作量分布数据
估算步骤:
(1)产品分解,将系统分为子系统,子系统分解为模块;
(2)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。
(3)建立WBS分解中的活动与产品元素的映射关系,识别出WBS中哪些活动可以采用模型法估算;
(4)估计产品元素的规模,可以采用代码行法或功能点法,并估计每个产品元素的复杂度、复用率等;
(5)根据历史的编码阶段的生产率数据和产品元素的规模估计、复杂度、复用率等采用模型法计算每个产品元素的编码工作量;
(6)根据历史的类似项目的数据及估算人的经验估计其他活动的工作量,可以采用经验法。
(7)汇总得到:每个阶段的工作量、项目的总工作量。
场景七:需求变更的工作量估计
场景描述:
(1)有变更的需求描述
(2)项目进行到了编码阶段
(3)有本项目的编码的生产率
估算步骤:
(1)进行需求变更的波及范围分析
(2)进行本次变更的的WBS分解
(3)对于变更引起的代码变化进行规模、复杂度等其他属性的估计
(4)根据本项目的编码的生产率及估计的规模采用模型法估计工作量
(5)对于WBS分解中其他活动进行经验估计
(6)汇总所有的工作量得到本次变更的工作量估计

4.4 资源估算

(1)由工作量和开发周期来估算
人员数量= 工作量估算(人日)/工期估算(日)= 1440/532=3人
在进行资源分配的时候,要对资源的可支配时间进行充分的考虑:完全可分配资源,外部资源,指项目外非直接可支配的资源,多项目资源,多个项目共享的资源,特殊技能资源和备用资源。
在进行人员分配时要考虑到谁最有能力来完成这个任务,谁愿意来完成这个任务,谁会有时间来完成这个任务。

4.5 工期估算和安排

当面临高度不确定性任务时,可以采用三点估算法来进行工期估算,对于小组内开发人员而言,开发小型电商平台系统是一个高度不确定的任务,该小型电商平台系统的后台为仿苏宁易购的线下体验店,所以从后台来说有系统管理、商品类别信息管理、商品信息管理和订单信息管理以及统计管理五大功能;从前台来说有个人信息管理、查看商品、购买商品、购物车管理、订单查看五大功能。
最可能时间T可能:根据以往的直接经验和间接经验,个人信息管理以及后台的系统管理、商品类别信息管理、商品信息管理和订单信息管理这些模块最有可能共用672个小时完成。
最乐观的时间T乐观:当这些模块顺利完成的情况下,查看商品、购买商品这两个模块需要168个小时完成。
最悲观时间T悲观:在所有模块的完成状况不顺利的情况下,购物车管理和订单查看需要336小时完成。
计划时间 =(T乐观 + 4×T可能 + T悲观)/6 =(168+4*672+336)/6=532
由此可知项目的工期为532个小时。

4.6 成本估算

项目成本估算,是对完成项目工作所需要的费用进行估计和计划,是项目计划中的一个重要组成部分。要实行成本控制,必须先估算费用。
(1)虽然开发小组做过类似项目,但是每个客户的需求不尽相同,所以在进行项目细节设计的时候需要更多的思考和讨论,以预防项目后期再修改设计的风险。
(2)对人员的变动:大范围的需求变更要做好足够的预防和减少的措施,因为这是一个小型项目,历时本来就不长,如果有人员的变动或者大范围的需求变更就很容易导致项目的延期。
因此,此小型项目的成本估算大概在6000左右。

4.7 风险估算

1.信息技术风险
信息是信息化社会的核心,而第三方电子商务交易平台在信息的存储、处理、发布、传递、利用等过程中都有可能会由于技术方面的原因导致信息出现失真、迟滞、泄漏等现象,即使用信息存在风险。信息技术风险的存在不仅会给社会信息化带来负面影响,而且会给抗风险能力第三方电子商务交易平台的经营管理带来直接损失,因此必须加以重视。信息技术风险可以简单的分为以下几类:(1).真实性风险信息的真实性,是指信息的准确度和可靠性,它直接影响到信息使用者对信息的信任程度。如果第三方电子商务交易平台不能保证所获得信息的真实性,那么使用这样的信息就会存在风险。影响信息真实性的因素主要有信息的来源、信息传输过程中的失真、虚假信息等。
2.实时性风险
信息的实时性是指信息真实、准确、可靠地反映了事物的当前状态和属性。信息具有时效性,一项具体的信息往往只在一段时间内是有用的或起决定性作用的。如果第三方电子商务交易平台不能保证信息的及时发布或者信息在传输过程中延时,就会造成信息不及时。对于第三方电子商务交易平台计算机网络信息系统,传输线路的繁忙、线路故障、网络传输延迟、黑客入侵、系统故障等都可能使获得的信息缺乏实时性。
3.安全性风险
信息安全性风险,是指第三方电子商务交易平台在信息系统中存储、传递信息时信息可能被恶意窃取、利用和窜改,以及第三方电子商务交易平台在信息处理过程中可能丢失或被破坏等类似的安全问题。这些问题包括计算机恶意代码的破坏、黑客入侵、系统的不正确使用等,显然这些问题所造成的对信息资源的损坏一定会对信息使用者造成严重的影响。

小型电商平台的项目估算相关推荐

  1. 基于阿米巴经营模式的电商平台研发

    7月份是一个崭新开始,着手基于阿米巴经营模式的电商平台研发项目,运行多年的混沌状态接口不清晰/能力不分明的牵一发而动全身的旧业务系统,终于迎来了可负载均衡的三层设计的平台重构,前端有To C的运营中心 ...

  2. 小型电商服务器平台搭建(一)

    一.阿里云小型电商服务平台架构介绍 电商平台初创之初,访问量不大,但将来可能访问量暴增,初期阶段业务模式调整频繁,对价格敏感,因此希望服务器平台架构具有良好的功能拓展性及性能伸缩性,所有平台软件最好免 ...

  3. css网页设计实例代码_大型电商平台设计实例:电商平台项目工程、数据库选型、代码库...

    电商平台微服务体系架构 经过一系列的微服务设计, 下面使用一张维导图完整表示这个电商平台的微服务架构设计模型,如图 3-6 示. 这是一个为简单的电商平台微服务架构设计模型,并且使用了粗粒度的微服务划 ...

  4. OM(OPEN-MALL) 项目致力于打造分布式开源电商平台

    简介: OM OM(OPEN-MALL)开源项目各大板块会在近期陆续上线.社区电商已上线.欢迎大家体验给出宝贵意见. 前言 OM(OPEN-MALL)项目致力于打造分布式开源电商平台,开源板块包含社区 ...

  5. 机械工业品电商平台后台开发(一):项目简介及SpringMVC工作原理(工作流程)介绍

    学校的项目实训开始了,我选的题目是"机械工业品电商平台",看题目就知道需求还是比较明确的,就是一个电商平台嘛!下面是我们这个项目的功能框架: 因为时间只有二十多天,所以这其中的移动 ...

  6. JAVA毕设项目社区电商平台系统(java+VUE+Mybatis+Maven+Mysql)

    JAVA毕设项目社区电商平台系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...

  7. Django+Vue开发生鲜电商平台之1.项目介绍

    文章目录 一.项目概览 二.项目技术要点 三.项目预览 我永远相信只要永不放弃,我们还是有机会的.最后,我们还是坚信一点,这世界上只要有梦想,只要不断努力,只要不断学习,不管你长得如何,不管是这样,还 ...

  8. JAVA毕设项目社区生鲜电商平台(java+VUE+Mybatis+Maven+Mysql)

    JAVA毕设项目社区生鲜电商平台(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...

  9. Java毕设项目电商平台客流统计系统(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目电商平台客流统计系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(W ...

最新文章

  1. STL (13) 非变动型算法
  2. windows下一个,OracleServiceXXX和Oracle 关系实例
  3. 精通JavaScript--01面向对象JavaScript
  4. 安装两个硬盘时应如何跳线?
  5. spring flux_Spring Web-Flux – Cassandra后端的功能样式
  6. 【C++11新特性】 C++11智能指针之weak_ptr
  7. 每日一题(40)—— 字符串常量
  8. 各银行汇款手续费之比较
  9. JAVA设计模式之【外观模式】
  10. ko文件卸载 linux_调试lcd时候给linux单板移植tslib
  11. R-CNN学习笔记2:Rich feature hierarchies for accurate object detection and semantic segmentation
  12. 坚果nuts 加速 官网_quot;如果你不吃坚果,你就是坚果(傻瓜)!quot;
  13. 【译】2021年十大热门编程语言
  14. 如何从macOS Catalina向iPhone添加自定义铃声
  15. 坚果云 linux 使用方法,树莓派4B踩坑指南 - (10)安装坚果云(暂时失败)
  16. 经典算法系列之不死神兔
  17. ubuntu命令 图片 壁纸_一个命令安装旧版Ubuntu发布的壁纸
  18. 中国压电材料取得突破性进展,未来B超机可折叠弯曲
  19. 透明ico图标制作方法
  20. PhotoSwipe 图片浏览插件使用方法 - 简单

热门文章

  1. MarkdownPad2 插入数学公式Mathjax
  2. java版林地府邸种子_我的世界林地府邸地图种子代码分享
  3. Angular Router的组件路由介绍
  4. 通过CE寻找内存基址
  5. matlab中的图片输出和设定
  6. cesium添加高德影像图
  7. %大赛D--链式前向星+SPFA(BFS)+各种数据类型+各种最短路复习
  8. java电商项目搭建-------分布式文件存储系统(fastDFS)
  9. ESP32-cam使用-智能家居云端视频监控实现
  10. 软件测试基础知识 - 集成测试和系统测试的区别,以及它们的应用场景