当前位置:网站首页>软件开发工具的技术要素
软件开发工具的技术要素
2022-08-04 23:50:00 【赟文武】
思维导图
基本功能与一般结构
(1)基本功能五方面——
- 提供描述软件状况及其开发过程的概念模式
- 提供存储和管理有关信息的机制和手段
- 帮助使用者编制、生成及修改各种文档
- 帮助使用者编写程序代码,即一般常说的代码生成
- 对于历史信息进行跨生命周期的管理,把项目进度与版本更新的有关信息科学的管理起来
(2)一般结构——
- 总控和人机界面处于中心位置,是使用者与软件开发工具之间交流信息,实现所有支持功能的桥梁
总控与人机界面
AD/Cycle将软件开发工具划分为五阶段:需求分析阶段、分析设计阶段、编码阶段、测试阶段、维护阶段
- 需求分析阶段的任务是建立逻辑模型
- 分析设计阶段的基本任务是完成系统的总体设计
- 编码阶段指具体的编写软件的阶段
- 测试阶段的任务是对已经完成的各个模块或子系统进行测试
- 维护阶段的任务是组织管理软件的日常运行,收集运行中的状态信息及出现的问题,并且及时的进行局部的修改与完善
面向用户最根本的是要立足于符合实际的应用领域
面向用户的基本原则:
- 总控对各部分的调度与安排应符合上述模式,另一方面,面向用户提供的统一界面应当体现出这个模式
- 保证各部分之间信息准确传递
- 保证系统的开放性或灵活性
信息库及其管理
(1)信息库需要存放的四大类信息
- 关于软件应用的领域与环境的状况
- 设计成果,包括逻辑设计和物理设计的成果
- 运行状况的记录
- 有关项目管理与版本管理的信息
(2)信息库组织方式
- 集中存储——优点:比较容易保持一致性,缺点:与前面要求的模块化冲突(最初思路)
- 分散存储——优点:易于变更与剪裁,一部分变化不致影响全部,缺点:一致性无法保证每个模块都需要一套增删改
- 逻辑上统一、物理上分散——既保持了一致性又保持了灵活性
(3)信息库的管理功能
- 与一般数据库管理系统不同的主要功能
信息之间逻辑联系的识别与记录、如何实现定量信息与文字信息的协调一致
上述两个困难的根源在于数据之间的逻辑关系的认识与表达
- 历史信息的处理方法
历史信息数量太大,占用存储设备过多——脱机备份方法解决
历史信息格式不一致,难以有效的利用——加强标准化、稳定数据结构会缓解
文档生成与代码生成
代码生成主要依靠三方面资料,首先是信息库已有的有关资料、其次为各种标准模块的框架与架构、最后是使用者通过屏幕的操作送入的信息
文档生成——文章、表格、图形(三个文档属文章最难生成)
项目管理与版本管理
AD/Cycle对于项目管理应当考虑的范围如下:
- 研究与确定开发工作的方针与方法——采用什么样的阶段划分方法、采用什么样的系统描述方法
- 开发任务的划分与分工——整个开发任务如何逐层分解为小任务,这些小任务该交给谁做
- 资源状况——有多少人力、物力、财力等
- 人员情况——每个人的进度如何、技术水平 如何、是否需要重新培训、是否需要调动工作
- 变更情况——需求的变更、环境的变更、人员的变更、在开发期间设备与技术有什么变更
- 质量情况——检验的标准是什么,由谁检验,用什么数据检验
边栏推荐
- NebulaGraph v3.2.0 Release Note,对查询最短路径的性能等多处优化
- [Cloud Native--Kubernetes] Pod Controller
- 【LeetCode】Summary of Two Pointer Problems
- 仿网易云音乐小程序-uniapp
- Xiaohei's leetcode journey: 95. Longest substring with at least K repeating characters
- Go 语言快速入门指南:什么是 TSL 安全传输层
- 【Valentine's Day special effects】--Canvas realizes full screen love
- 安全软件 Avast 与赛门铁克诺顿 NortonLifeLock 合并案获英国批准,市值暴涨 43%
- 情侣牵手[贪心 & 抽象]
- What is next-generation modeling (with learning materials)
猜你喜欢
招标公告 | 海纳百创公众号运维项目
[CVA Valuation Training Camp] Financial Modeling Guide - Lecture 1
如何写好测试用例
[Happy Qixi Festival] How does Nacos realize the service registration function?
从单体架构迁移到 CQRS 后,我觉得 DDD 并不可怕
年薪50W+的测试工程师都在用这个:Jmeter 脚本开发之——扩展函数
MySQL增删改查基础
The market value of 360 has evaporated by 390 billion in four years. Can government and enterprise security save lives?
Three tips for you to successfully get started with 3D modeling
Bidding Announcement | Operation and Maintenance Project of Haina Baichuang Official Account
随机推荐
How to burn the KT148A voice chip into the chip through the serial port and the tools on the computer
Brainstorm: Complete Backpack
The role of @ Import annotations as well as how to use
Laravel 实现redis分布式锁
资深游戏建模师告知新手,游戏场景建模师必备软件有哪些?
线程三连鞭之“线程的状态”
KT148A电子语音芯片ic方案适用的场景以及常见产品类型
[Cloud Native--Kubernetes] Pod Controller
.net (C#) get year month day between two dates
统计单词(DAY 101)华中科技大学考研机试题
Xiaohei's leetcode journey: 95. Longest substring with at least K repeating characters
为何越来越多人选择进入软件测试行业?深度剖析软件测试的优势...
LeetCode Hot 100
上课笔记(6)(2)——#742. 周末舞会
The role of @Async annotation and how to implement asynchronous listening mechanism
仿网易云音乐小程序-uniapp
Three tips for you to successfully get started with 3D modeling
头脑风暴:完全背包
【LeetCode】Summary of Two Pointer Problems
2022年华数杯数学建模