• 1. 中国北京: 电话l: (010) 62196102 地址: 北京市海淀区北三环西 路甲18号 中鼎大厦B座7层 Email: tarena@tarena.com.cn Toronto, Canada: Tel : (647) 284-8872 Email : hansy@tarena.ca Address: 106-7 Crescent Place Toronto, Ontario, Canada Post Code: M4C 5L7CONFIDENTIAL软件开发任务书— 完成软件项目、积累工作经验NetCT OSS电信运营支撑系统www. .ca
  • 2. 用户需求 电信业务计费管理 资费管理:增、删、改、查资费信息 管理员管理:增、删、改、查管理员信息 用户管理:增、删、改、查用户信息 帐单管理:按月生成用户月计费帐单 帐务管理:按月生成帐务月、年统计报表。 用户自服务管理:用户修改密码,查询帐单。
  • 3. 系统需求定义资费管理(Pricing Management) 用户管理(User Management) 管理员管理(System Adm. Management) 帐单管理(Billing Management)/ 帐务管理(Accounting Management) 用户自服务管理(User Management)需求模块划分
  • 4. 总体设计(Architecture Design) 系统架构图(System Framework) 数据流程图(Data Diagram) 外部接口(Outside Interface) 内部接口(Internal Interface) 物理视图(Physical View) 数据文件及表(Data Design)总体设计
  • 5. 中国北京: 电话l: (010) 62196102 地址: 北京市海淀区北三环西 路甲18号 中鼎大厦B座7层 Email: tarena@tarena.com.cn Toronto, Canada: Tel : (647) 284-8872 Email : hansy@tarena.ca Address: 106-7 Crescent Place Toronto, Ontario, Canada Post Code: M4C 5L7CONFIDENTIAL TODAY 管理员管理模块www. .ca
  • 6. 总体定义管理员管理 需求 管理员开通管理:管理用户登陆NetCT OSS的帐号,包括帐号开通、暂停(加锁)、恢复、删除。 管理员资料管理:管理管理员资料,包括姓名、身份证号码、住址等。 管理员权限管理:改变管理员的各类权限。 管理员信息 ID,姓名、帐号(一个)、密码、状态(正常/暂停/关闭)、联系电话、Email、开通日期、停止日期、权限 注意: 一个用户对应一个帐号。 系统默认帐号:ID:0,姓名:达内公司,帐号:tarena,密码:tarena,状态:正常,联系电话:62132839, Email:tarena@tarena.com.cn、开通日期:系统日期、停止日期:Null、权限:超级管理员。
  • 7. 数据库表信息 ***************************************************** t_adm 管理员表(用于保存管理员信息) ****************************************************** drop table t_adm; create table t_adm( id number primary key, -- 管理员编码 name varchar2(32), -- 管理员姓名 login_name varchar2(10) unique not null -- 登录名 login_password varchar2(32), -- 登录密码 phone varchar2(32), -- 联系电话 email varchar2(32), -- E-Mail enroll_date date, -- 注册日期 close_date date -- (不用字段) ); create sequence seq_adm;
  • 8. 数据库表信息***************************************************** t_module 模块表(用于保存模块信息) ****************************************************** drop table t_module; create table t_module( id number primary key, -- 模块编号 name varchar2(32), -- 模块名称 user_flag char -- 使用者标记:0—管理员;1—用户; ); insert into t_module values(1, '管理员管理', 0); insert into t_module values(2, '资费管理', 0); insert into t_module values(6, '用户自服务', 1);
  • 9. 数据库表信息***************************************************** t_adm_rights 管理员权限表 (用于保存管理员对模块的访问权限) ****************************************************** drop table t_adm_rights; create table t_adm_rights( adm_id number references t_adm(id), -- 管理员编码 module_id number references t_module(id), -- 模块编号 primary key(adm_id, module_id) );
  • 10. 用例图
  • 11. 类图1
  • 12. 类图2
  • 13. 时序图
  • 14. 软件的分层技术选型:Spring+Struts+Hibernate or Struts+Hibernate Spring+Struts+JDBC or Struts+JDBCV Jsp 标签 El表达式C Servlet Struts M Jdbc Hibernate EJB_EntityBeanBiz JavaBean SessionBean DBDAO采用面向接口编程来解耦合通过Spring的IOC进行对象的注入 使软件满足“开闭原则”
  • 15. 开发步骤(Model部分)一、开发基础代码部分。 1. 在JBuilder中创建项目netctoss, 然后为该项目添加所需的library,包括spring.jar, hibernate3.1相关的jar文件,ojdbc14.jar, commons-lang.jar, commons-collection.jar,commons-beanutils.jar,commons-dbcp.jar, commons-pool.jar,commons-logging.jar. etc. 2. 在项目下创建需要的包: tarena.netctoss.model tarena.netctoss.exception tarena.netctoss.dao tarena.netctoss.biz tarena.netctoss.test tarena.netctoss.spring
  • 16. 开发步骤3. 把POJO类和hibernate映射文件部署到jbuilder项目下的src目录/tarena/netctoss/model中。 4. 在tarena.netctoss.exception包中创建异常类,如: InfrastructureException etc. 5. 在tarena.netctoss.dao包中创建一个接口: AdmManageDAO 和一个实现了该接口的类HibernateAdmManageDAO。 6. 在tarena.netctoss.biz包中创建一个接口:AdmManageBIZ 和一个实现了这个接口的实现类:AdmManageBIZImp。 7. 在tarena.netctoss.spring包中编辑context.xml 8. 在tarena.netctoss.test包中写测试类,测试已写好的所有类和配置文件。 提醒:一定要在以上过程中做好单元测试,为表现层的数据显示和保存做好准备。
  • 17. 开发步骤(Web部分)二、开发页面控制流转部分。 在项目中创建web应用,名称:netctoss_web, 并且为应用选择服务器:tomcat5.5 , 选择web框架:JSTL1.1和struts1.2。 2. 构建struts模块。 a. 在web.xml中配置struts模块 b. 在WEB-INF目录中创建模块相关的struts配置文件 c. 把子模块相关的struts配置放在相应的配置文件中 d. 在应用的根目录下创建一个以模块名命名的文件夹,所有子模块的页面都放在该文件夹下。 3. 在adm模块中构建ActionForm,名字:AdmManageForm. 4. 根据如下的流程在adm模块中构建Actin, 名字:AdmManageAction.
  • 18. 开发步骤(Web部分)动作的构思: ================================================= 查询: list.do-->listManager.jsp 添加: toAdd.do-->addManager.jsp-->add.do--->(redirect)list.do 删除: remove.do-->(redirect)list.do 修改: get.do-->modifyManager.jsp-->modify.do-->(redirect)list.do =================================================
  • 19. 开发步骤(Web部分) 把显示和业务逻辑整合在一起, 配置spring,使之支持struts,步骤如下: a.把context.xml拷贝到/WEB-INF目录下 b. 向 pricing-struts-config.xml 文件添加该插件,和扩展requestProcessor如下所示: c. 在spring中配置struts动作,注意配置bean时要把id属性改为name。 d. 在AdmAction中添加属性AdmManageBIZ
  • 20. 讨论:开发的流程项目经理设计项目框架 书写项目详细文档 小组讨论接口设计 讨论框架的可行性和可扩展性 分工编码 分工测试 项目总结Show Time