软件工程导论

读书笔记1
1、软件工程:软件工程将系统化的,规范化的,可度量的方法应用于软件开发,运行和维护,将工程化应用于软件方法。
软件工程的基本原理:

  1. 分阶段的生存周期计划严格管理;分若干阶段切实可行的计划完成
  2. 阶段评审;及早发现错误,减少成本
  3. 严格的产品控制;不得随意更改需求
  4. 结果能清楚审查
  5. 采用现代程序设计技术

软件开发方法使开发过程制度化,采用明确的步骤,具体的描述方式,确定的评价标准。

  1. 结构化开发方法:
  2. 面向数据结构开发方法
  3. 面向对象开发方法:OOP+OOD+OOA=OMT
    自底向上与自顶向下相结合的方法,对象建模为基础,建立基于用户的需求系统。
    面向对象=对象+类+继承+通信。目前被广泛使用的是统一建模方法UML。

软件工程思想的核心在于编码前进行足够的系统分析与设计。

  1. 考虑项目的市场背景
  2. 从用户的角度考虑问题
  3. 技术
  4. 合理的进行模块分割
  5. 开发人员的组织调度
  6. 开发过程中文档的编写

2、软件生命周期:从提出产品开始,到软件被淘汰的全过程

  1. 瀑布模型。文档驱动直线型的推进,灵活性很差!在这里插入图片描述
  2. 快速原型模型。确定用户的真实需求,开发初始原型让用户试用,次要部分增大,容易忽略主要问题,更新文档麻烦。在这里插入图片描述
  3. 螺旋模型。添加风险分析,每一次迭代都根据需求和约束进行风险分析权衡不同的选择,确定选择之前通过原型化验证可行性。在这里插入图片描述
  4. 迭代递增模型。目前最好的模型在这里插入图片描述

在这里插入图片描述

### 关于《软件工程导论》学习资料与笔记 #### 一、定义理解 软件工程是指研究和应用如何以系统化规范化以及可度量的方式开发、运行并维护软件的过程,即将工程方法用于软件领域[^1]。 #### 二、组成部分解析 该学科主要由三大部分构成:程序设计、数据处理及文档编写。这三大要素共同作用确保了整个项目的顺利实施和发展。 #### 三、历史沿革与发展背景 随着信息技术的进步,特别是计算机硬件性能提升带来的复杂性增加,传统编程方式难以满足日益增长的需求。因此,在此背景下诞生了专门针对这些问题而设立的新分支—软件工程技术。其核心在于解决大型项目中存在的效率低下等问题,并通过引入新的理论和技术手段来提高生产率和服务质量[^2]。 #### 四、具体实践工具介绍-UML顺序图 作为一种可视化表达形式之一,UML中的顺序图用于描述对象间按时间序列发生的交互过程;它不仅能够清晰展示不同实体之间的关系变化情况,还支持对特定业务逻辑进行精确建模。绘制此类图表通常遵循以下几个原则: - 明确所需模拟的任务流程; - 合理布局参与交互的对象位置及其对应的生命线条目; - 基于实际需求补充必要的通信指令说明; - 整合局部视图为全局视角提供全面的支持[^4]。 ```python # Python UML Sequence Diagram Example (Pseudo Code) class Object: pass def draw_sequence_diagram(): obj_list = [] # List to hold all objects involved in the interaction. while True: action = input("Enter next action or 'done' when finished:") if action.lower() == "done": break sender, receiver, message_type = parse_action(action) add_message_to_timeline(sender,receiver,message_type,obj_list) draw_sequence_diagram() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值