软件工程第一次作业

第一章 概论

 

计算机科学的领域,软件工程与计算机科学的关系,软件的特性,软件工程的定义与组成部分

 1.1  软件=程序+软件工程

程序,在这里指的是源程序,就是一行行的代码。

一个复杂的软件不但要有合理的软件架构软件设计与实现还要有各种文和数据来描述哥哥程序文件之间的依赖关系、编译参数、链接参数等等。这些都是软件构建的过程。

一个好的软件,即使用能和同类软件区别不大,但却会让人感觉到非常好用。这就是软件的用户体验

软件要处理不同语言、不同地区的用户对界面和功能的不同需求,这叫做软件的国际化和本地化

推广理论:软件企业=软件+商业模式

 

  软件开发的不同阶段

  1. 玩具阶段
  2. 业余爱好阶段
  3. 探索阶段
  4. 成熟的产业阶段

 1.2 软件工程是什么

软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。

软件工程和计算机科学、计算机工程、管理学、数学、项目管理学等等,相关。

一些软件工具系统:Microsoft Visual Studio、GitHub、Eclipse、ClearCase、ClearQuest,等等。

 

  1.2.1 软件的特殊性

软件是可以运行在计算机及电子设备中的指令和数据的有序集合。软件于各种分类方法,下面是其中一种:

  • 系统软件:操作系统、设备驱动程序、工具软件等
  • 应用软件:用户使用他们来完成工作,从管理核电厂到写文章,或是通信、游戏、浏览网页、播放视频等
  • 恶意软件:软件病毒等

 

我们知道许多计算机硬件的能力大致以每两年提高一倍的高速发展。而软件开发的流程却没有这样的提速过程,开发成本也没有下降,为什么?软件开发过程有什么特别的难题?学者们总结了下面五点:

  1. 复杂性
  2. 不可见性
  3. 易变性
  4. 服从性
  5. 非连续性

 1.2.2 软件工程与计算机科学的关系

三种计算机软件机构:

  • 计算机科学与技术系或学院
  • 软件学院
  • 软件工程系、软件工程学院

计算机科学偏理论领域:

  • 计算机论
  • 信息和编码理论
  • 算法和数据结构
  • 形式化方法
  • 程序设计语言

计算机科学偏实践领域:

  • 计算机体系结构
  • 并行计算和分布式系统
  • 实时系统和嵌入式系统
  • 操作系统
  • 计算机网络
  • 科学计算
  • 安全和密码学
  • 人工智能
  • 计算机图形学
  • 数据库和大规模数据处理
  • 万维网
  • 自然语言处理和语音
  • 人机交互
  • 软件工程

 1.2.3 软件工程的知识领域

生命周期:软件需求、软件设计、软件构建、软件测试、软件维护

专门领域:软件配置管理、软件工程管理、软件工程过程、软件工程模型的方法、软件质量

理论基础:计算基础、数学基础、工程基础

 1.2.4 软件工程的目标----创造"足够好"的软件

所谓好软件,就是软件没有缺陷(Bug)。

Bug的多少可以直接衡量一个软件的开发效率用户满意度可靠性可维护性

 

二 

 教材P18-2

1. 怎样才算一个好的单元测试? 验证单元测试好坏的标准是什么?  p25

2.什么是代码复审?为什么要做代码复审?代码复审的步骤是什么?  p74

3.什么是软件团队模式?一个好的团队形式是什么?  p91

4.一个好的PM要具备什么样的能力?PM怎么解决所遇到的问题?   p183

5.软件测试是什么?在软件开发中有什么作用?   p275

 

1.淘宝网:是亚太地区较大的网络零售、商圈。满足用户足不出户的购物需求,在同类型软件之间通过产品种类多少进行竞争。

2.网易有道词典:有道词典是由网易出品的基于搜索引擎技术的全能免费语言翻译软件。支持中、英、日、韩、法、西、俄七种语言互译。有专业权威大词典为用户提供准确高效的翻译。便捷的网络单词本提高用户学习效率。在同类型软件之间有较强的竞争优势。

3.携程旅行:是一个在线票务服务公司,提供数百条度假产品路线,私人向导平台,中国领先的酒店预订服务和高铁代购服务。是一款不错的旅游出行app。

 

 

 

 

posted @ 2019-09-09 18:50  1Zz  阅读(155)  评论(1编辑  收藏  举报