软件工程笔记

第一章

软件是软件工程的研究对象,也是软件工程的产品形态与客观存在

工程是理论和知识应用与理论科学,其目的是经济科学的解决实际问题。

一.软件的定义

软件=程序+数据+文档

程序是计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能。

数据是使得程序能够适当的操作信息的数据结构。

文档是描述程序的研制过程,方法和使用的图文资料。

二.软件的本质特性

软件具有复杂性,一致性,可变性和不可见性等固有的内在特性,这是造成软件开发困难的根本原因。

复杂性是指软件本身是十分复杂的,如Linux内核有630个函数,存在1814个函数调用。

一致性是指

1.软件不能独立存在,需要依附于一定的环境(如硬件,网络以及其他软件)

2.软件必须遵从人为惯例并适应已有的技术和系统。

3软件需要随接口的不同而改变,随时间的推移而变化,而这些变化是不同人设计的结果。

可变性是指

1.人们总是认为软件是容易修改的,但忽视了修改所带来的副作用。

2.不断的修改最终导致软件的退化,从而结束其生命周期。

不可见性是指

1.软件是一种“看不见,摸不着”的逻辑实体,不是具有空间的形体特征。

2.开发人员可以直接看到程序代码,但是源代码并不是软件本身。

3.软件是以机器代码的形式运行,但是开发人员无法看到源代码是如何执行的。

三.软件开发面临的挑战

 四.什么是软件工程

软件工程是,(1)将系统性,规范化,可定量的方法应用于软件的开发,运行和维护,即工程化应用到软件上,(2)对(1)中所述方法的研究。

五.软件工程的三个基本要素

 六.软件工程过程

软件开发过程是一系列的软件开发活动

 七.软件工程方法

 八.软件工程工具

 九.软件开发的基本策略

 (1)软件复用,是指利用将已有的软件制品,直接组装或者合理修改成新的软件系统,从而提高开发效率和产品质量,降低维护成本。

(2)分而治之,是指通过对问题的研究分析,将一个复杂问题分解成可以理解并能够处理的若干小问题,然后再逐个解决。

(3)逐步演进,软件更像一个活着的植物,其生长是一个逐步有序的过程。软件开发应该遵循软件的客观规律,不断进行迭代式增量开发,最终交付符合客户价值的产品。

(4)优化折中,软件工程师应当把优化当作一种责任,不断的改进和提升软件质量,但是优化不是一个多目标的最优决策,在不可能使所有目标都得到优化时,需要进行折中实现整体最优。

十.软件工程学科发展

 十一.什么是好的软件

高质量的软件产品:

(1)做了用户想要它做的事情

(2)正确有效地使用计算机资源

(3)易于用户学习和使用

(4)设计良好,代码良好且易于测试和维护

十二.产品质量维度

分为性能,特色,可靠性,符合性,耐久性,可服务性,审美和感知

ISO9126设计模型

 

十三.业内人士谈软件工程

标准的设计模式

 统一思想

科学的管理方法

基本素质

1.极强的代码阅读、理解和书写代码的能力

2.极强的责任心和敬畏心

3.有职业道德,对代码品质和秘密的保证

4.与他人的协同能力

第二章

一.软件工程编程

软件编程时一个复杂迭代的过程,不仅仅是编写代码,应该包括代码审查,单元测试&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值