软件编程的多维度视角

软件生命周期(SDLC)

在这里插入图片描述

SDLC(Software Development Life Cycle),即软件生命周期,软件生存周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。

第一步:问题定义及规划
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
第二步:需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。“唯一不变的是变化本身。”,同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
第三步:软件设计
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。
第四步:程序编码
此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。
第五步:软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
第六步:运行维护
软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

多维度软件视图(Multi-dimensional software views)

在这里插入图片描述

软件系统的构造阶段视图(Build-time views of a software system)

Build-time (构造阶段): idea ➡ requirement ➡ design ➡ code ➡
installable / executable package

(1)代码层面:分析源代码是怎样组织生成函数,方法,类,界面这样的程序块的。
(2)内容层面:分析源代码是怎样被保存在文件,包,目录下的。

软件系统的运行阶段视图(Runtime views of a software system)
运行时主要有两个

Code-level view: 在内存中软件状态的更新
Component-level view: 程序结构 程序怎样在自己的环境中展开的(系统环境 分布式 硬件)
Run-time, moment, and code-level view

快照 专注于在靶机上变量层次在内存中的状态
Memory dump(内存信息转储):把JVM某个时间点的内存快照转储为一个文件
Memory dump: a file on hard disk containing a copy of the contents
of a process’s memory, produced when a process is aborted by certain
kinds of internal error or signal

memory dump
Execution tracing 执行跟踪
Tracing involves a specialized use of logging to record information
about a program‘s execution. 用日志方式记录程序执行的调用次序

事件日志:系统层面
在这里插入图片描述
Event logging provides system administrators with information
useful for diagnostics and auditing. 事件日志:系统层面
不同的事件的类型被记录下来,在事件中发生的细节也被记录下来,并且在发展循环中被考虑。
– The different classes of events that will be logged, as well as what details
will appear in the event messages, are considered in development cycle

执行跟踪,事件日志在构件/系统层面与代码层面的区别
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值