摘要
XXXX年XX月,我作为XXXX(工作职责),负责 XXXXX公司XXXXXXXX的建设项目的开发工作,该项目为期 XXXX(项目周期),项目经费为XXXX(项目经费),通过该项目,实现 XXXXXXX(项目的实现目标)。该项目XXXXXXXX(实施情况)。该项目 于XXXX 年 XX 月开始,于XXXX年XX月完成系统上线, XXXX年 XX 月通过最终验收,得到了用户的一致 肯定,顺利达成了项目既定目标。本文作者结合实际经验,以该项目为例,讨论一下项目 建设的【软件分析、软件设计、软件实现、软件测试等】这几个过程来进行论述。
正文:
XXXX年XX月,我作为项目经理,负责 XXXXX公司XXXXXXXX的建设项目的开发工作,该项目为期 XXXX(项目周期),项目经费为XXXX(项目经费)。该项目时间紧任务重,具有相当的挑 战性,
项目概括:
一、对项目所解决当前问题的总体分析。说明自己在项目中负责的工作。
二、项目开始时间,项目周期、实施情况、客户反馈
三、项目在设计上取得的成就
项目主干:
主要是对系统设计的分析。
性能设计
- 性能设计是一个整体,必须有整体的一致性,避免“大河接了小水管”的片面设计。 如何做到整体: (1) 充分理解需求 (2) 梳理运行环境 (3) 全流程分析 (2) 分层模型
2.性能设计要 抓住关键点--风险点
(1)哪些地方是风险点。
(2)哪些地方是 敏感点,
(3) 哪些地方是 权衡点
3.要敢于突破
(1)使用创新技术。
(2)使用创新流程
4.要有效地验证
(1) 评估推算
(2) 模拟验证
软件架构(质量)评估
1、 质量的要点
(1) 性能
(2) 可靠性: 出错情况下的 容错能力
(3) 可用性: 正常/异常时间比 两次异常间隔的时间
(4) 安全性 信息的机密性、完整性、可用性
(5) 可修改性
(6) 功能性
(7) 可变性
(8) 互操作性
- 采用的评估
方法+实施过程+实际效 果。
软件设计模式
常见设计模式以及作用
1、创建型:
对对象实例化过程进行抽象。
(1) 抽象工厂 Abstract factory
(2) 建造者 builder
(3) 工厂 Factory method
(4) 原型 prototype
(5)singleton
2、 结构型
组合类和对象,获得更大的结构。一般使用继承、 封装、代理等。
(1) 适配器 adaptor
(2) bridge 桥接
(3) 组合 composite
(4) 装饰 decorator
(5) 外观 façade
(6) 享元 flyweight
(7) proxy 代理
3、行为型
用于对象之间的职责以及提供服务的分配。描述对象之间如何相互协作。
(1) 职责链:chian of responsibility
(2) command 命令
(3) 解释器 interpreter
(4) iterator 迭代器
(5) mediator 中介者
(6) memento 备忘录
(7)observer 观察者
(8)state 状态
(9)strategy 策略
(10)Template method 模板方法
(11) visitor 访问者模式
4、实际使用的场景以及 取得的效果。 效果有:
- 简化并加快设计
- 方便开发人员之间的通信:-- 前端逻辑和后端业务处理之间等
- 降低风险
- 有助于转到面向对象
数据库访问层设计
一、五种访问模式
1.在线访问。业务之间访问数据,无数据库访问层
2.dao。 将底层数据库与高层业务逻辑分开,访问特定数据源
3.dto:一组对象组成 的数据容器。跨进程或 者跨网络传输数据
4.离线数据模型 :从数 据源获得数据后,按照 预定结构存放在系统中 的数据。往往与 XML 集成使用
5.对象/关系映射ORM。
ORM 可以是一种工具 或者平台,将程序中的 数据映射成关系数据库 中的记录,或者反之。 使得开发面向对象,简 化数据库开发相关工 作。
二、实际使用效果。
1、哪些场景实际用了 什么设计方法,为什 么,如何设计的,取得 的效果如何。 在业务逻辑部分,采用 orm 模式。 在特定的高性能数据提 取要求情况下,采取了 之间读取数据库(及个 边) 在系统数据内部自运算 环境,采用了个别存储 过程。以保持效率。
微服务架构
一、微服务的好处
1.实现组件化,单个服务实 现简单,能够聚焦一个指定 的业务功能或业务需求。
2.功能明确,易于理解。小 团队能够更关注自己的工作 成果。
3.围绕业务功能构建开发团 队。更符合企业的分工与组 织结构
4.支持多种语言和平台 (采用 HTTP 等通用、轻量 协议交互)进行互操作。支 持不同平台。
5.离散化数据管理。
无法创建或维护统一的数据模型,需要进行数据模型的 离散化管理?
6 基础设施自动化。 通过持 续集成工具实现基础设施自 动化。
二、实际使用情况。
1、使用已经有的微服务基 础设施: 用户登录认证服务 用户权限控制服务 主数据集合服务 接口发现服务。 构建再保险微服务: 一是先分保后出单模块 二是自动分保模块
三是账务处理模块 四是结算管理 五是资信管理 主要遇到的问题:
1、微服务不是越多越好, 需要充分理解用户需求、实 际业务场景的前提下,做出 合理划分归集
2、基础设施的要求更高
3、信息安全挑战加大。
结语
经过我和团队的不懈努力,历时一年,项目终于于 XXXX年 XX 月通过顺利通过了验收,并得到了一致好评,运行至今,用户反馈良好,XXXX公司的业务运营水平得以提升。但是,在实施过程中,也暴露了一些具体问题,例如XXXXXX等等,这些问题通过应急处理和协调,以及高层领导的推动,都得到了妥善解决,没有影响到项目的总体进度。我们已经把这些经验和教训,总结到了工作总结里面,向其他技术人员分享,为今后系统架构设计提供帮助。相信通过不断持续学习改进,加强自己的系统分析与设计能力,努力工作提升工作水平,为社会和公司多贡献一点自己的价值。