软件架构文档样例.doc
10页4In1 System软件架构文档版本 <1.1>修订文档历史记录日期版本说明作者2010/11/231.0初始版本Ben Xu2010/12/201.1Ben Xu目录1. 简介 41.1 目的 41.2 范围 41.3 定义、首字母缩写词和缩略语 41.4 参考资料 42. 架构表示方式 43. 架构目标和约束 44. 用例视图 44.1 主要用例 54.1.1 申请注册 54.1.2 用户注册审核 54.1.3 用户角色管理 54.1.4 角色权限管理 64.1.5 车型信息管理 64.1.6 配件信息管理 65. 逻辑视图 65.1 概述 65.2 Application层 75.3 Business Service层 75.3.1 Service包 75.3.2 Model包 85.4 Middleware层 86. 部署视图 86.1 User Client 96.2 Server 96.3 DB Server 97. 数据视图 98. 大小和性能 109. 质量 10软件架构文档1. 简介1.1 目的本文档将从架构方面对系统进行综合概述,其中会使用多种不同的架构视图来描述系统的各个方面。
它用于记录并表述已对系统的架构方面作出的重要决策1.2 范围本文档用于4In1小组正在开发中的4In1系统4n1系统是为ABC汽车4S店设计的业务管理系统,将提供汽车的整车销售、配件销售、售后服务以及信息反馈等功能1.3 定义、首字母缩写词和缩略语见4In1系统术语表1.4 参考资料1. 4In1系统术语表,1.0版,4In1小组2. 4In1系统前景文档,1.1版,4In1小组3. 4In1系统软件需求规约,1.0版,4In1小组4. 4In1系统软件开发计划,1.1版,4In1小组5. 4In1系统初始迭代计划,1.1版,4In1小组6. 4In1系统细化迭代计划,1.0版,4In1小组7. 4In1系统风险列表,1.0版,4In1小组8. RUP的软件架构文档模板2. 架构表示方式本文档将通过以下一系列视图来表示4In1系统的软件架构:用例视图、逻辑视图、部署视图本文档不包括进程视图和实施视图这些视图都是通过PowerDesigner工具建立的UML模型3. 架构目标和约束1. 系统在开发过程中有如下设计约束:开发语言为Java,采用关系型数据库存放数据,采用基于UML的面向对象分析与设计方法进行开发,采用B/S架构。
2. 系统应支持100人以上同时访问服务器并支持500人以上同时访问数据库,服务器的响应时间不应该超过5秒3. 所有用户在保证网络连接的情况下可同时通过局域网和互联网访问系统4. 系统必须保证数据的安全访问,用户需要通过用户名和密码进行身份认证,同时对数据的访问要进行授权认证4. 用例视图本章是对软件架构的用例视图的描述由于4In1系统的用例数量太多,因此本章只选了部分与架构设计相关的用例对于其余的用例,可参考软件需求规约选取的用例包括:l 注册申请l 用户注册审核l 用户角色管理l 角色权限管理l 车型信息管理l 配件信息管理4.1 主要用例图1 系统管理用例图4.1.1 申请注册简要说明:该用例允许4S店员工提出注册申请,从而成为4In1系统用户该用例的主要参与者为4S店员工4.1.2 用户注册审核简要说明:该用例允许系统管理员对系统的注册申请进行审核决定其是否成为系统用户该用例的主要参与者是系统管理员4.1.3 用户角色管理简要说明:该用例允许系统管理员管理系统中所有用户的角色,它包括已分配角色用户的角色修改该用例的主要参与者为系统管理员4.1.4 角色权限管理简要说明:该用例允许系统管理员管理系统中各个职员角色的权限。
它包括角色的创建,查询,删除对各个角色进行权限的添加与移除该用例的主要参与者是系统的管理员4.1.5 车型信息管理简要说明:该用例允许系统管理员管理4S店参与销售的所有车型信息它包括销售车型信息的查询、创建、删除和修改该用例的主要参与者是系统的管理员4.1.6 配件信息管理简要说明:该用例允许系统管理员管理4S店参与销售的所有配件信息它包括销售配件信息的查询、创建、删除和修改该用例的主要参与者是系统的管理员5. 逻辑视图本章是对软件架构的逻辑视图的描述主要内容包括描述重要的类,类的分包,子系统以及子系统的分层等另外还包括了一些重要用例的实现5.1 概述图2 4In1系统总体架构图4In1系统的逻辑视图主要由三层组成,分别是Application层、Business Service层和Middle层Application层主要由响应各种用户界面请求的动作类组成,它会调用Business Service层中的函数进行业务逻辑处理,同时根据结果显示不同的界面给用户Business Service层主要完成实际的业务逻辑,同时包括与数据库的表对应的实体类,以及访问数据库的DAO类Middle层为SSH2框架的函数库。
5.2 Application层图3 Application层架构图Application层主要由9个子包组成,这9个子包分别是RepairActions包、FeedbackActions包、SellAssuranceActions包、BuyPartActions包、SellPartActions包、SellCarActions包、BuyCarActions包、AuthorityActions包和WaresActions包5.3 Business Service层Business Service层包括Service和Model两个包5.3.1 Service包图4 Service包架构图Service包主要由三个包组成,IAuthorityService包负责处理用户的身份认证以及角色和权限管理,IGeneralBusinessService包负责整车销售、配件销售、采购、售后服务以及信息反馈过程中的表单处理,IWaresService包负责车型信息、配件信息的管理以及库存信息5.3.2 Model包图5 Model包架构图Model包由4个表单的实体类以及对应的4个表单DAO类,与角色和身份相关的一些类:Permission类、Role类、Stuff类、PermissionDAO类、RoleDAO类和StuffDAO类,Car类、CarDAO类、Part类、PartDAO类、Customer类和CustomerDAO类等组成。
5.4 Middleware层图6 Middleware层架构图6. 部署视图本章描述了部署和运行软件的物理网络(硬件)配置图6 4In1系统部署图6.1 User Client用户主要通过浏览器来访问系统,支持的浏览器包括IE 6+和Firefox 3.6+,客户端与服务端的连接可以是局域网或互联网6.2 Server应用服务器运行4In1系统,4In1系统部署在Tomcat7.0容器上,它与数据服务器通过jdbc连接6.3 DB Server数据服务器运行mysql5.1数据库7. 数据视图图7 数据模型ER图8. 大小和性能本系统采用的软件架构可以很好的支持如下性能需求:1. 系统应支持100人以上同时访问服务器并支持500人以上同时访问数据库2. 服务器的响应时间不应该超过5秒9. 质量本系统采用的软件架构可以很好的支持系统质量方面的需求:1. 系统应当方便所有用户的使用,对于有基础计算机水平的用户的培训时间应不超过2小时2. 系统应该提供的支持帮助3. 系统必须能够保证每天24小时不间断运行,可用率为99%4. 合理的设计系统的结构以保证较高的可维护性,系统的模块应该可替换5. 系统应当正确处理发生的异常或者错误,并返回错误信息。





