软件工程第一次作业

第1章 概论

 

1.1 软件=程序+软件工程

 

计算机科学:研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。

软件工程:是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

软件:是一系列按照特定顺序组织的计算机数据和指令的集合。

程序:以某些程序设计语言编写,运行于某种目标结构体系上。

数据结构:指相互之间存在一种或多种特定关系的数据元素的集合。

算法:指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

二叉树:在计算机科学中,二叉树是每个结点最多有两个子树的树结构。

遍历:是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问。

java:是一门面向对象编程语言。

指针:是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。

程序员:是从事程序开发、程序维护的专业人员。

应用软件:是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。

软件服务:软件服务是一种把管理软件和实施服务一体化打包的软件服务模式,它包括提供成熟的软件产品、优质的实施培训服务、企业管理咨询服务、后期持续提升服务的项目等的综合。

软件架构:是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件体系结构是构建计算机软件实践的基础。

配置管理:是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。

软件测试:描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。

需求分析:需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。

程序理解:程序理解是一个从计算机程序中获取知识信息的过程。这些知识信息可以应用于程序排错、增强程序、重用程序以及整理文档等方面的工作上。

软件维护:是一个软件工程名词,是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改。

软件企业:软件企业指以计算机软件开发生产、系统集成、应用服务和其他相应技术服务为其经营业务和主要经营收入,具有一种以上由本企业开发或由本企业拥有知识产权的软件产品,或者提供通过资质等级认定的计算机信息系统集成等技术服务的企业。

 

1.2 软件工程是什么

 

1.21 软件的特殊性

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

软件开发的特性:

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

 

1.23 软件工程的知识领域

软件工程的知识领域和理论基础

  • 生命周期:软件需求、软件设计、软件构建、软件测试、软件维护
  • 专门领域:软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量
  • 理论基础:计算基础、数学基础、工程基础

1.24 软件工程的目标---创造“足够好”的软件

Bug:一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题,简称程序漏洞。

 

 

 

教材P18-2

问题1:我看了这一段文字(软件工程师过早优化到底是好还是不好?)课本上说”过早的优化是一切罪恶的根源“,但是我不赞同作者的观点,我认为优化也是软件工厂师一项比较重要的工作,也需要尽早完成。

问题2:我看了这一段文字(我们都用过电视的遥控器,功能很强,按钮很多。为什么不设计的简单一点方便老年人用吗?)我认为电视现在基本都是老年人在看,应该换成简单的设计风格。

问题3:我看了这一段文字(有一个模块看来不能实现预期的设计需求,时间快要到了,怎么办?)查阅了百度之后,很多人都说直接砍掉这个功能,以保证工程的正常交付。我个人认为应该先做出初步版本,后期在进行维护优化即可。

问题4:我看了这一段文字(要成为领域的专家,才能创新)我认为作者的观点是不对的,创新是每个人都可能会做到的,并不是只有成为专家之后才可以有创新。

问题5:我看了这一段文字(在分析问题的时候要提不同意见吗?)作者说提意见多了会被人说喜欢挑刺,伤感情。我认为这个观点是不对的,我认为有不同的意见就是要提出来,大家一起解决。

教材P18-3

第一种软件:支付类软件(支付宝),当时用来网上购物,需要用到支付宝,它们的目标是扩大使用人群,当时在应用商店里面下载的,那时候9年级,Bug的话没有遇到过,这种支付类的软件一般有bug也会修复的特别快,现在微信支付、云闪付等软件也在和支付宝竞争,都是为了吸引消费目标人群。

第二种软件:出行类软件(12306、智行等),网上购票突然兴起,通过应用商店下载的,这类app就是普通的代替网站的软件,方便用户使用,但是最早版本的12306非常的卡,Bug也比较多,功能也不全面,它们主要通过抢票功能来盈利,收取用户的抢票费用。

第三种软件:视频类软件(爱奇艺、优酷等),有了看电视剧,看电影的需求,自然就会下载视频软件,它们主要通过开通会员来赚钱,只有开通会员才能去掉广告、观看一些最新电影等等,固定一段时间就会更新,出现新的功能。

posted @ 2019-09-10 22:08  mosicise  阅读(276)  评论(3编辑  收藏  举报