学习情境 1 “可可网上商城”项目准备 模块1 “可可网上商城”项目准 备 可可连锁书店是暨阳市的一家中小型连锁书店,有很多优质图书资源和教育市场,各 连锁网点遍布在高等院校、中小学校周边。因其图书质量高,更新速度快,折扣率高,服务 快速优质,可可连锁书店在暨阳市的图书销售业绩和客户服务都很出色。 2012 年以前,在一些媒体和客户的口碑传导下,可可连锁书店的图书销售业务量飞 速增长。但是,自2013 年年初开始,随着淘宝、京东、当当、ChinaPub等电子商务平台的 飞速发展,更丰富的图书,更便捷的采购,更高的折扣率… … 一切都让可可连锁书店感受 到了巨大的销售压力。而可可连锁书店传统的销售渠道也已经无法满足顾客对于更高服 务质量的期望:顾客经常向总店客服投诉无法及时从连锁书店取到预订的图书,配送员 也在各连锁书店和客户之间疲于奔命… … 很显然,可可连锁书店迫切需要适应市场需求 , 引入电子商务,扩充销售渠道,提高服务质量。 幸运的是,可可连锁书店拥有一位出色的销售经理杨国栋,他与连锁书店周边学校的 许多教师、学生都有着很好的私人关系。他正全力以赴应对即将到来的2022 年9月销售 旺季———新学期开始是各类图书最热销的时候。 杨国栋迅速召开了几次内部会议,最终证实,如果仅仅依赖目前的销售渠道,要提高 销售业绩、提升服务质量太难了。杨国栋期望定制开发一套比较完善的电子商务平 台——— “ 可可网上商城”系统。这套网上商城系统要能结合可可连锁书店自身网店分布广 的优势,面向特定的顾客群体,拓宽网上图书销售渠道。这意味着新的电子商务解决方案 要在2022 年7月1日之前上线测试并投入运行,而离这个时间只有4个多月了。杨国栋 对此一窍不通,根本不知道如何在这么短的时间内使网上商城系统上线和运行。几经斟 酌后,杨国栋联系到了当地具有丰富行业软件开发经验的研发机构———IFTC(展望软件 研发中心)。杨国栋将这个项目的研发工作交给了IFTC 。 从现在开始,在项目经理陈靓的带领下,他们将用4个月的时间,和主人公程可儿一 起,为可可连锁书店开发新的“可可网上商城”系统。 程可儿是今年的应届高职毕业生,刚刚到IFTC入职,工作非常认真,很荣幸地被陈 靓选中,得以参加他入职以来第一个重要项目。作为项目团队IFTC的新成员之一,程可 儿亲自参与产品研发的整个过程,体验了来自可可网上商城项目开发的酸甜苦辣,完成从 初学者到ASP.NET软件工程师的蜕变之旅。 工作任务 任务1-1 了解“可可网上商城”总体需求 任务1-2 创建“可可网上商城”解决方案 学习目标 (1)初步掌握软件工程与项目管理概念,了解常用的软件研发生命周期模型。 (2)基本掌握应用系统需求建模的基本方法,能理解并熟练描述需求模型。 (3)理解Web应用系统架构模型及工作原理。 (4)初步掌握创建ASP.NET应用系统解决方案的基本方法,理解ASP.NET应用程 序的基本结构和工作模型。 任务1-1 了解“可可网上商城”总体需求 任务描述与分析 陈靓是IFTC项目团队的主要负责人,具有非常丰富的电子商务平台研发和实施经 验。为尽可能保证“可可网上商城”能满足可可连锁书店和杨国栋的期望,陈靓跟杨国栋 做了非常充分的沟通。 陈靓认为,如果到4个月后交付软件、部署到服务器试运行时,杨国栋才能够看到实 际可工作的软件系统,再想融入他的反馈意见为时已晚,软件研发和实施的风险非常高。 陈靓决定尝试采用Scrum 敏捷开发框架,他向杨国栋提出建议:让杨国栋作为产品负责 人,亲自参与到软件研发的整个过程,使得所开发的电子商务平台能及时融入杨国栋的反 馈和新的需求。 陈靓组建了全新的Scrum 项目团队,其角色和职责如下。 (1)Scrum 主管。由陈靓担任Scrum 主管。他的主要职能是确保项目团队和产品所 有者遵循Scrum 项目研发过程,帮助解决团队可能遇到的障碍问题,并在未来更高效地 工作。 (2)产品负责人。可可连锁书店委派杨国栋作为该项目的产品负责人。他的主要职 能是充当可可连锁书店(客户)与研发团队之间的联系纽带,负责向研发团队介绍和确认 可可连锁书店电子商务平台的需求列表,并回答研发团队提出的问题。 (3)软件工程师。由程可儿、周德华、王海、孙睿共4人组成。他们兼具用户界面设 2 ASP.NET 应用系统设计与开发(第2 版) 模块1 “可可网上商城”项目准备 计师、测试工程师职能。 陈靓带领程可儿等团队成员进驻到可可连锁书店总公司,计划安排3名工程师用 5天时间做需求分析,预算120 工时(人天)。杨国栋在陈靓的引导下,和程可儿一起讨论 和梳理了“可可网上商城”的开发任务单,如表1-1-1所示。 表1-1- 1 开发任务单 任务名称#101 了解“可可网上商城”总体需求 相关需求 作为一名软件开发工程师,我希望与客户一起讨论并采集项目总体需求,这样可以 向用户确认需求清单,进行需求分析并编写需求分析文档 任务描述 (1)采集“可可网上商城”项目功能性需求 (2)创建“可可网上商城”用户需求模型 (3)编制《“可可网上商城”需求规格说明书》 所属迭代Sprint#1 “可可网上商城”项目准备 指派给陈靓、程可儿、杨国栋优先级4 任务状态□已计划√进行中□已完成估算工时(人天) 120 任务设计与实现 1-1- 1 采集“可可网上商城”项目需求 1. 定义系统用户 “可可网上商城”系统的用户主要分为以下3种。 (1)匿名用户,即未在“可可网上商城”注册、匿名访问网站的顾客。 (2)会员,即在“可可网上商城”注册且账号状态为“正常”的顾客。 (3)书店管理员,即“可可网上商城”的管理专员,如杨国栋。 2. 分析功能性需求 “可可网上商城”系统总体分为前台门户、管理后台两个子系统。 1)前台门户的业务功能需 求 前台门户只限于匿名用户、会员访问 。 (1)会员注册。匿名用户能够在前台门户访问注册页面,输入真实姓名等必备信息 后,注册为正式会员,并拥有其用户名、密码;会员用户名不能重名,同一个E-mail不能用 于重复注册会员账户。 (2)会员登录。会员能够通过其用户名、密码登录到前台门户;会员登录到前台门户 后,可以修改密码、修改会员资料;如会员忘记密码,可以找回密码。 (3)检索图书。顾客(匿名用户、会员)能访问前台门户,浏览到来自可可连锁书店的 最新图书、热销图书等,并能够通过图书类别、出版社、点击排行等快捷地检索图书信息、 3 ASP.NET 应用系统设计与开发(第 2 版) 浏览图书详细信息。 (4)购买图书。会员检索到期望的图书信息后,可以将该图书加入购物车;会员能够 管理购物车,可以继续添加图书,修改购买数量,删除图书或清空购物车等操作;会员确认 需购买的图书清单后,可以通过购物车正式提交并生成订单。 2)管理后台的业务功能需 求 管理后台只限于书店管理员访问 。 (1)管理员登录。书店管理员能够通过其用户名、密码登录到管理后台;书店管理员 登录到管理后台后,可以修改密码。 (2)管理图书分类。书店管理员可以浏览所有图书分类列表;可以添加、修改、删除 图书分类;如果某图书分类下已有图书,则该图书分类不能删除。 (3)管理图书。书店管理员可以浏览所有图书列表;可以新增、修改、删除图书信息。 如果某图书已被上架销售并有交易记录,则该图书不能删除。 (4)管理会员。书店管理员可以浏览所有会员列表;会员状态默认为“正常”;根据会 员实际情况,书店管理员可以修改会员状态为“注销”,但不能删除、修改会员资料。 (5)管理订单。书店管理员可以浏览所有销售订单列表和订单详细信息;不支持在 线支付和配送,仅记录当前订单数据、订单状态。 提示陈靓建议程可儿和杨国栋通过用户故事的方式提出用户需求,这样便于团队 管理和跟踪需求。用户故事应该这样表述:“ 作为一名<某种类型的用户>,我希望<达 成某些目的和任务>,这样可以<实现开发的价值目标>。” 陈靓用某个招聘网站的用户需求为例,向杨国栋举例:“ 作为一名招聘人员,我希望 可以浏览所有我发布工作所对应的求职申请,这样可以将符合要求的求职申请转发给招 聘经理。” 3. 分析非功能性需求 1)软硬件环境需求 (1)系统运行于Internet环境中。 版本 ( 。 2)系统部署在服务器端,服务器操作系统采用WindowsServer2008 或更高 (3)系统数据库使用MicrosoftSQLServer2008 或更高版本。 (4)系统通过浏览器访问,0或更高版本浏览器、r 支持并兼容IE6.Chome 浏览器、 Firefox浏览器等主流浏览器。 2)性能需求 (1)系统在Internet环境中,能够保证系统的及时响应,响应时间不超过1000ms 。 (2)系统支持大规模用户每秒1000 次的并发访问 。 3)安全性需 求 (1)系统采用用户身份认证、权限等安全机制,保证系统使用安全性。 (2)系统部署在Internet中,保证服务器单独部署的物理安全性,采用防SQL 注入 等Web防护措施。 模块1 “可可网上商城”项目准备 4)可维护性和可扩展 性 系统采用合适的开发架构,具有良好的可扩展性和可维护性 。 5)用户交互界面UI 设计要 求 (1)系统页面设计简洁、美观大方,采用典型的类京东、类当当网等电子商务站点页 面设计风格。 (2)系统易学、易用,设计有便捷的导航工具栏、向导等各种方式保证用户可以快速 上手使用,可以更快地进行各项在线购物操作。 1-1- 2 创建“可可网上商城”用户需求模型 1. 创建“可可网上商城”的“建模项目” (1)打开VisualStudio,选择“文件”→“新建”→“项目”命令,如图1-1-1所示。 图1-1- 1 VisualStudio工作窗口 (2)打开“新建项目”对话框,如图1-1-2所示。 (3)在“已安装”→“模板”目录下,选择“建模项目”选项,在模板列表中选择“建模项 目”选项。 (4)在“名称”文本框中,输入项目名称BookShop.Modeling;选择项目位置、输入解 决方案名称(默认与项目名称一致)。 (5)单击“确定”按钮。VisualStudio创建了建模项目BookShop.Modeling,在“解决 方案资源管理器”窗格中展示了默认的建模项目结构,如图1-1-3所示。 2. 新建“可可网上商城”前台门户的UML 用例图 (1)在“解决方案资源管理器”窗格中,右击项目BookShop.Modeling,在快捷菜单中 ASP.NET应用系统设计与开发(第2版) 图1-1- 2 “新建项目”对话框 图1-1- 3 “解决方案资源管理器”窗格和默认建模项目结构 选择“添加”→“新建项”命令,如图1-1-4所示。 (2)打开“添加新项”对话框,如图1-1-5所示。 (3)在“已安装”目录下,选择“建模”选项,选择“UML 用例图”模板。 (4)在“名称”文本框中,修改默认名称为uokShpPra.csdram 。 (5)单击“添加”按钮。 cBoootluseaeiag (6)在“解决方案资源管理器”窗格中,已在建模项目中添加了“可可网上商城”前台 门户的UML 用例图ucBookShopPortalusecasediagram,如图1-1-6所示。默认打开 UML 用例图ucBookShopPortal的设计窗口。(.) 模块1 “可可网上商城”项目准备 图1-1- 4 建模项目中添加新建项 图1-1- 5 “添加新项”对话框 图1-1- 6 空白的UML用例图ucBokShopPortal ASP.NET 应用系统设计与开发(第 2 版) 3. 绘制“可可网上商城”前台门户的UML 用例图 (1)如图1-1-7所示,从工具箱“UML 用例图”目录中,选择“子系统”选项并拖放到 UML 用例图设计窗口ucBookShopPortal中,修改子系统名称为“前台门户”。 图1-1- 7 在UML 用例图中添加子系统 (2)如图1-1-8所示,根据“可可网上商城”的系统用户定义,选择“参与者”选项并拖 放到设计窗口中,分别修改参与者的名称为“匿名用户”和“会员”。 图1-1- 8 在UML 用例图中添加参与者 (3)如图1-1-9所示,根据前台门户功能性需求定义,选择“用例”选项并拖放到设计 窗口的“前台门户”子系统中,分别修改各用例的名称为“会员注册”“检索图书”等。 (4)如图1-1-10 所示,根据前台门户功能性需求定义,为参与者与用例之间添加关 系。选择“关联”选项,在参与者“匿名用户”和用例“会员注册”之间绘制“关联”关系链接, 其他以此类推。 模块1 “可可网上商城”项目准备 图1-1- 9 在UML用例图中添加用例 图1-1-10 在UML用例图中添加关系链接 (5)如图1-1-10所示,根据前台门户功能性需求定义,为用例与用例之间添加关系。 选择“扩展”选项,在用例“会员登录”和“修改密码”之间绘制“扩展”关系连接,在用例“购 买图书”和“管理购物车”之间绘制“包括”关系连接,其他以此类推。 4.根据需求定义,完善“可可网上商城”用户需求模型 (1)如图1-1-11所示,根据前台门户功能性需求,修改参与者、用例定义及其关系,完 善前台门户UML用例图设计。 (2)在“解决方案资源管理器”窗格中,为建模项目添加“可可网上商城”管理后台的 UML用例图ucBooltom.scsdaram 。打开UML用例图uBokShpPafr okShpPafrueaeigcoltom 的设计窗口。如图1-1-12所示,根据管理后台功能性需求定义,绘制参与者“书店管理 员”、用例“管理图书分类”等,绘制参与者、用例及其关系,完善管理后台UML用例图。 ASP.NET应用系统设计与开发(第2版) 图1-1-11 完善前台门户UML用例图ucBokShopPortal 图1-1-12 创建管理后台UML用例图ucBokShopPlatform 10