当前位置:网站首页>软件开发工具的技术要素
软件开发工具的技术要素
2022-08-04 23:50:00 【赟文武】
思维导图

基本功能与一般结构
(1)基本功能五方面——
- 提供描述软件状况及其开发过程的概念模式
- 提供存储和管理有关信息的机制和手段
- 帮助使用者编制、生成及修改各种文档
- 帮助使用者编写程序代码,即一般常说的代码生成
- 对于历史信息进行跨生命周期的管理,把项目进度与版本更新的有关信息科学的管理起来
(2)一般结构——
- 总控和人机界面处于中心位置,是使用者与软件开发工具之间交流信息,实现所有支持功能的桥梁
总控与人机界面
AD/Cycle将软件开发工具划分为五阶段:需求分析阶段、分析设计阶段、编码阶段、测试阶段、维护阶段
- 需求分析阶段的任务是建立逻辑模型
- 分析设计阶段的基本任务是完成系统的总体设计
- 编码阶段指具体的编写软件的阶段
- 测试阶段的任务是对已经完成的各个模块或子系统进行测试
- 维护阶段的任务是组织管理软件的日常运行,收集运行中的状态信息及出现的问题,并且及时的进行局部的修改与完善
面向用户最根本的是要立足于符合实际的应用领域
面向用户的基本原则:
- 总控对各部分的调度与安排应符合上述模式,另一方面,面向用户提供的统一界面应当体现出这个模式
- 保证各部分之间信息准确传递
- 保证系统的开放性或灵活性
信息库及其管理
(1)信息库需要存放的四大类信息
- 关于软件应用的领域与环境的状况
- 设计成果,包括逻辑设计和物理设计的成果
- 运行状况的记录
- 有关项目管理与版本管理的信息
(2)信息库组织方式
- 集中存储——优点:比较容易保持一致性,缺点:与前面要求的模块化冲突(最初思路)
- 分散存储——优点:易于变更与剪裁,一部分变化不致影响全部,缺点:一致性无法保证每个模块都需要一套增删改
- 逻辑上统一、物理上分散——既保持了一致性又保持了灵活性
(3)信息库的管理功能
- 与一般数据库管理系统不同的主要功能
信息之间逻辑联系的识别与记录、如何实现定量信息与文字信息的协调一致
上述两个困难的根源在于数据之间的逻辑关系的认识与表达
- 历史信息的处理方法
历史信息数量太大,占用存储设备过多——脱机备份方法解决
历史信息格式不一致,难以有效的利用——加强标准化、稳定数据结构会缓解
文档生成与代码生成
代码生成主要依靠三方面资料,首先是信息库已有的有关资料、其次为各种标准模块的框架与架构、最后是使用者通过屏幕的操作送入的信息
文档生成——文章、表格、图形(三个文档属文章最难生成)
项目管理与版本管理
AD/Cycle对于项目管理应当考虑的范围如下:
- 研究与确定开发工作的方针与方法——采用什么样的阶段划分方法、采用什么样的系统描述方法
- 开发任务的划分与分工——整个开发任务如何逐层分解为小任务,这些小任务该交给谁做
- 资源状况——有多少人力、物力、财力等
- 人员情况——每个人的进度如何、技术水平 如何、是否需要重新培训、是否需要调动工作
- 变更情况——需求的变更、环境的变更、人员的变更、在开发期间设备与技术有什么变更
- 质量情况——检验的标准是什么,由谁检验,用什么数据检验
边栏推荐
- 仿网易云音乐小程序-uniapp
- Couple Holding Hands [Greedy & Abstract]
- Handwritten Distributed Configuration Center (1)
- #yyds dry goods inventory #Switching equipment serious packet loss troubleshooting
- Pytorch分布式训练/多卡/多GPU训练DDP的torch.distributed.launch和torchrun
- 吐槽 | 参加IT培训的正确姿势
- MySQL基础篇【聚合函数】
- KT148A语音芯片怎么烧录语音进入芯片里面通过串口和电脑端的工具
- MySQL增删改查基础
- 【无标题】线程三连鞭之“线程池”
猜你喜欢

Day118.尚医通:订单列表、详情、支付

First, the basic concept of reptiles

NebulaGraph v3.2.0 Release Note,对查询最短路径的性能等多处优化

Essential knowledge for entry-level 3D game modelers

3. Actual combat---crawl the result page corresponding to Baidu's specified entry (a simple page collector)

招标公告 | 海纳百创公众号运维项目

2022 Niu Ke Summer Multi-School Training Camp 5 (BCDFGHK)

Literature reading ten - Detect Rumors on Twitter by Promoting Information Campaigns with Generative Adversarial Learn
手写分布式配置中心(1)

4-《PyTorch深度学习实践》-反向传播
随机推荐
[Happy Qixi Festival] How does Nacos realize the service registration function?
Ab3d.PowerToys and Ab3d.DXEngine Crack
.net(C#)获取两个日期间隔的年月日
上课笔记(6)(2)——#742. 周末舞会
uniapp 分享功能-分享给朋友群聊朋友圈效果(整理)
美团二面:Redis与MySQL双写一致性如何保证?
安全软件 Avast 与赛门铁克诺顿 NortonLifeLock 合并案获英国批准,市值暴涨 43%
Basic web in PLSQL
Basic web in PLSQL
Literature reading ten - Detect Rumors on Twitter by Promoting Information Campaigns with Generative Adversarial Learn
uniapp动态实现滑动导航效果demo(整理)
Three tips for you to successfully get started with 3D modeling
MYS-6ULX-IOT 开发板测评——使用 Yocto 添加软件包
入门3D游戏建模师知识必备
学会反射后,我被录取了(干货)
@Import注解的作用以及如何使用
KT6368A蓝牙的认证问题_FCC和BQB_CE_KC认证或者其它说明
2022牛客暑期多校训练营5(BCDFGHK)
4 - "PyTorch Deep Learning Practice" - Backpropagation
After another 3 days, I have sorted out 90 NumPy examples, and I can't help but bookmark it!