软件开发基本知识.pdf

1、软件:是计算机系统中与硬件相互依存的部分,它包括程序、

程序-是按照事先设计的功能和性能的要求执行的指令序列

数据-是使程序正常操纵信息的数据结构

文档-是程序开发、维护和使用有关的图文资料

2、软件分类(按功能划分)

系统软件:如操作系统、数据库管理系统、设备驱动程序等

支撑软件:协助用户开发软件的工具性软件,如微软可视化开发

平台工具

应用软件:为特定目的服务的软件,如财务管理软件。

二、软件工程和软件开发

1、软件工程

一系列完善的工程化原则。

软件工程是为经济地获得能够在实际机器上有效运行的可靠软件

而建立和使用的一系列完善的工程化原则。

软件工程是开发、运行、维护和修复软件的系统方法。

1983年,IEEE(电气和电子工程师学会)作出定义,软件工程是

开发、运行、维护和修复软件的系统方法。软件定义为:计算机程序、

主要思想是强调软件开发过程需要英语工程化的原则。

2、软件的生存周期

按照软件工程的过程(plan,do,check,action)即软件规格说明、

软件开发、软件确认,软件演进,进一步展开,软件的生存周期包括6

个阶段

(1)制定计划

(2)需求分析

(3)软件设计

(4)程序编写

(5)软件测试

(6)运行和维护

3、软件开发

开发阶段有三个相互关联的步骤组成,即设计、实现(编码)、

测试。

三、各个阶段的目标和主要工作

制定计划

管理层面的内容。

制定待开发软件系统的总目标,给出它的功能、性能、可靠性以

及接口等方面的要求;

研究完成该项软件任务的可行性,探讨解决问题的可能方案;

制定开发实施计划,可行性研究报告。

需求分析

对待开发软件提出的需求进行分析并给详细定义出

需求分析的目标:

是深入描述软件的功能和性能,确定软件设计的约束、软件同其

它系统元素的接口细节,

分析阶段只确定软件系统要“做什么”,

“怎么做’有后续的设计阶段完成。对算法的详细描述也是在设

计阶段给出。

定义软件的其它有效性需求。

需求分析的任务:

通过与用户的合作,了解用户对待开发系统的要求;

根据用户的要求的系统所在的信息域的调查、分析,确定系统的

逻辑模型;

对求解的问题做适当的分解,使之适合于计算机求解。

需求分析工作的内容:

数据建模:

包括3种相互关联的信息,即数据对象、描述对象的属性、描述

对象间相互链接的关系。用数据流图描述系统数据流的变换和流向,

用数据词典定义数据流图中出现的数据流、数据文件、加工和处理,

用判定表表示复杂条件和动作组合情况。

功能建模和数据流:

目标系统被表示成“输入信息-》目标系统-》输出信息”,系

统的功能体现在核心数据变换中。功能建模的思想就是用抽象模型的

概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直

到找到满足功能要求的所有可实现的软件为止。功能建模表达数据的

运动情况和数据流的变换。

行为建模:给出需求分析方法的所有操作原则。描述系统或对象

的状态、导致状态改变的事件,从而描述系统的行为。

软件设计·需求转换成体系结构,对每个模块具体描述。

需求转换成体系结构,对每个模块具体描述。

软件设计是一个把软件需求变换为软件表示的过程。把已确定的

各项需求转换成相应的体系结构,进而对每个模块需完成的工作进行

具体描述。最初这个表示只是描述出可直接反映功能、数据、行为需

求的软件的总框架,然后进一步细化,在此框架中填入细节,把它加

工成程序细节上非常接近与源程序的软件表示。

软件设计是解决“怎么做“的问题。

软件分析阶段已经完全弄清楚了软件的各种需求,软件设计是解

THE END
1.软件开发需要学什么?这些自学步骤你需要知道4.软件开发需要学习一类确定的开发方向,选择需要学习的相关知识 先考虑清楚你学习软件开发后准备从事哪方面的工作,比如游戏开发(LOL,吃鸡,手机游戏等);前端开发(网页、微信小游戏、Android/IOS APP等);后台服务器,数据库(支撑前端运行的技术和数据);嵌入式(驱动、单片机等)。 https://blog.csdn.net/weixin_49892805/article/details/131655430
2.软件开发需要学习什么知识软件开发必备技能有哪些→MAIGOO知识摘要:软件开发行业的薪金水平还是很高的,很多应届毕业生甚至在职者都想从事这个行业,不过想要进入这个行业必须踏过一定的门槛才可以。这对于自学的人来说更是如此,你不仅需要学习基础知识,还要学习基础编程语言、数据库(SQL Server)知识、web相关知识才行。下面就来一起看下软件开发需要学习的知识和必备技能都有哪些吧。https://www.maigoo.com/goomai/188846.html
3.软件开发学什么?软件开发需要掌握的基础知识软件开发需要掌握的基础知识 软件开发就是编程,学习的内容就是计算机语言,有的学java 有的学.net 有的学php。掌握并精通至少一门编程语言,C语言C++主要做底层开发,做软件开发主要是java语言,学习编程语言,首先应该从基础的开始掌握,虽然VB相对更容易入门,但是现在绝大多数的高级编程语言都是从C语言的基础上演化而来http://www.apppark.cn/t-36799.html
4.软件测试{1}你需要了解的软件测试基础知识软件测试基础 一、 软件缺陷的概述 1、什么是软件缺陷 软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求。 IEEE(电气电子工程师协会)对软件缺陷有一个**标准的定义**: 从**产品内部**看,软件缺陷是软件产品开发或维护过程中所存在的错误、误差等各https://www.jianshu.com/p/c2c5303dd4db
5.六软考系统架构设计师笔记软件工程基础知识51CTO博客是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程,该模型认为软件开发过程自下而上的,各阶段是相互迭代和无间隙的。无间隙是指在开发活动中,分析、设计和编码之间不存在明显的边界。 五、智能模型 是基于知识的软件开发模型,它把瀑布模型和专家系统结合在一起,利用专家系统来帮助软件https://blog.51cto.com/u_14032829/10137662
6.汽车电子技术——ECU/MCU嵌入式软件开发1. ECU/MCU软件开发知识储备 1.1 ECU/MCU相关基础知识 前面也已经说到,ECU通俗来讲就是MCU加上一些外围必要的电路组成的一个系统,所以本身在学习ECU/MCU软件开发的过程中,相关的基础知识是需要不断积累的。当然博主的博客专题中《汽车电子技术 博客专栏》已经分享了一些自己的学习思路及参考书目,感兴趣的小伙伴们可https://chandianzi.cn/qi-che-dian-zi-ji-shu-ecumcu-qian-ru-shi-ruan-jian-kai-fa-2.html