架构内容 节选自《闻缺陷则喜》(此书可免费下载)

本文探讨了在软件开发中如何平衡质量、工期和成本的关系。强调了适时的取舍和优先级设定,提出了在不同开发阶段采用不同质量标准的重要性。文章还详细介绍了开发过程中的各个关键环节,如功能需求定义、并发问题处理、模块拆分、开发技术选型和数据架构设计。此外,提到了数据库概念结构设计和E-R图在数据架构中的应用。
摘要由CSDN通过智能技术生成
      1. 架构内容
        1. 取舍

质量、工期与成本三者之间是相互影响、相互制约。质量与工期影响着成本。成本又约束着质量和工期,工期影响着质量的提高。反过来质量的提高又促进了工期的缩短。让公司亏钱是最大的罪过;工期的长短严重影响现金流,暂时亏损可以拉投资,没现金流公司会倒闭。

体会:一,有时,要求高质量会让成本翻倍,所以不如分两阶段,第二阶段重写,不留历史包袱。二,不同经历的开发人员侧重于不同的质量要求,有的适合快,有的时候适合可维护性、可复用性。天下武功唯快不破,快是很大的优势。90%的项目会失败,项目早出生,早验证,早止损。三,不同阶段,质量要求不同。四,取舍和优先级重要。

 

        1. 转换成开发级需求和规则

寻找边框用各级功能需求的区别

系统级功能需求

CAD插件可以自动识别边框。

第一版

用户级功能需求

边框分三类,直线、多以线、块。

开发级功能需求

边框分三类

  1. line实体,4条line如果刚好可以组成正矩形,则是边框。
  2. 闭合的Polyline、Polyline2d实体的4条边可以组成矩形,则是边框。
  3. 块一定时边框,边框是包围盒。

第二版

用户级功能需求

用户可以配置边框种类,以提升速度和准确性。

开发级功能需求

寻找边框时,增加参数边框类型

有界面可以配置边框类型。

边框类型可以保存。

        1. 运行架构

关注的是应用程序运行中可能出现的一些问题。包括:一,并发带来的问题,比较常见的是“线程同步”、异步、死锁问题。二,生命周期管理,对象创建和销毁。三,状态的变化,如:登录、注销。四,业务流程。

控制流图中不同线程(进程)直接或间接调用的模块可能需要加锁,为了简便,跨线程的数据、资源只有一个模块能直接访问。

        1. 逻辑架构

模块拆分的四个方法:一,按所需技能拆分,如html做界面,C++内核。最常见的是分层细化,如:界面层、业务逻辑层、核心逻辑层、数据层、数据存取层。二,分块,按功能细化。三,按通用专用细化。公司基础库,部门基础库等。四,通用机制的提取。如:某个框架要实现几个接口。

可以用鲁棒图发现遗忘的职责,时序图也能发现一些职责。

 

        1. 开发架构

一,开发技术选型,开发语言、工具。二,将逻辑职责拆分成程序单元。包括:a,自主编写的源程序。b,外包的源程序。c,付费、免费的第三方库、插件、框架。d,脚本、配置文件、注册表。e,其它工具,比如安装盘工具。f,系统工具、免费工具,已有工具。三,程序单元间关系,项目划分、项目目录结构,依赖关系。

混合编程是指使用两种或两种以上的程序设计语言来开发应用程序的过程。如:智勇三国二单机版,C++内核,界面以html对话框为壳,实质为js+html。网络版BS程序,后端C++,前端JS+HTML,通讯方式WebSocket。

        1. 数据架构

分布式是重点内容,但我没经历过,所以不涉及。

数据库概念结构设计和 E-R图

数据库概念模型能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。

E-R图提供了表示实体型、属性和联系的方法。

1. 实体型用矩形表示,矩形框内写明实体名。

2. 属性用椭圆形,并用无向边将其与相应的实体型联系起来。

3. 联系用棱形表示,菱形框内写明联系名,并用无向边分别于有关实体型连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。

如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。

        1. 物理架构

涉及较少不班门弄斧了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闻缺陷则喜何志丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值