第1讲 绪论 本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料

Slides:



Advertisements
Similar presentations
1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
Advertisements

数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
ASP .NET 程序设计(C#版) 第二版 机械工业出版社同名教材 配套电子教案
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第八章 商务网站建设 商务网站规划 硬件环境 软件环境 网页内容设计.
网页设计师的职业成长规律 主讲:刘万辉 淮安信息职业技术学院.
初级会计电算化 (用友T3) 制作人:张爱红.
实用操作系统概念 张惠娟 副教授 1.
UI(用户界面)集训班 Illustrator 高级班.
软件工程 咸阳师范学院 信息工程学院.
“基于时政热点问题,政史地学科横向统整”的拓展型课程开发与实践研究
第三篇 组织工作.
第一章 商品 第一节 价值创造 第二节 价值量 第三节 价值函数及其性质 第四节 商品经济的基本矛盾与利己利他经济人假设.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
《数据结构》课程简介 李武军 南京大学计算机科学与技术系 2016年秋季.
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
《数据库原理及应用》课程介绍 信息工程学院 孙俊国
                                                                                                                                                                
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
面向对象建模技术 软件工程系 林 琳.
R in Enterprise Environment 企业环境中的R
第 3 章 基本概念.
软件工程 主讲:饶国政 天 津 大 学.
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
走进编程 程序的顺序结构(二).
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
数 控 技 术 华中科技大学机械科学与工程学院.
课程设计.
Introduction to AI and ML
What have we learned?.
第二章 Java语言基础.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
任务1 软件工程 任务2 软件生命周期与软件开发模型 任务3 建模工具
Windows 7 的系统设置.
实验1 信息系统分析与设计工具安装.
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
《产品设计工程应用》课程 陈兴波 顺德职业技术学院/设计学院/工业设计专业.
1.3 计算机软件系统 计算机系统组成:计算机硬件和计算机软件 计算机软件分两大类:系统软件和应用软件 系统软件: 应用软件
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
微机系统的组成.
VisComposer 2019/4/17.
软件工程 Software Engineering
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
获奖类别: 获奖题目: 获奖学生: 指导教师: 研究内容:(400~500字,2~3幅插图)
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
机械设备的完整性和可靠性管理 Maintenance integrity & reliability.
计算机绘图 AutoCAD2016.
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第二节 C语言的特点.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
网页版报名流程 Step 4 点击“详情”查阅具体岗位信息,输入身份数据及申请序列码进行最终报名
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
Presentation transcript:

第1讲 绪论 本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料 第1讲 绪论 本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料 在线代理|网页代理|代理网页|http://www.dailiav.com 减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|http://pigproxy.cn

本讲内容 ● 软件 ● 软件的发展及软件工程 ● 软件规划 ● 软件计划 ● 领域分析 ● 软件 ● 软件的发展及软件工程 ● 软件规划 ● 软件计划 ● 领域分析 本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料 在线代理|网页代理|代理网页|http://www.dailiav.com 减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|http://pigproxy.cn

一 软件

问题: 1、什么叫硬件? 2、什么叫软件? 3、你从那些角度来理解软件概念?

演示几个软件以引出软件 1.Windows 2.word 3.成绩计算软件 4.IE浏览器

1.1 软件的概念 1、软件的常识定义: 软件是相对硬件而言的,是计算机系统中的程序、数据及其相关文档的总称。

程序是能完成确定任务,用计算机语言描述的,并能够在计算机系统上执行的语句序列。

求1+2+3+…+100累加和 main() { int i, sum=0; for (i=1; i<=100;i++) sum=sum+1; printf(“sum=%d\n”,sum); }

数据用来描述软件所要处理的业务和事物的静态特征,是程序处理的对象。

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

需要从以下两个方面理解软件: 1)在计算机系统中,我们把除了所有可见性设备和资源之外的计算机系统的组成部分统称为软件。 2)软件的概念比程序广泛,程序是软件的构成部分。

1.1 软件的概念 2、软件的本质: 软件是认识的中介、是人意识的外化、是人的意识基于机器的特殊反映。

1.2 软件的特征 1. 智能性 软件是人的智力劳动的产物,具有明显的智能性特征。 2. 无形性 软件不象可见设备那样具有明显的物理形体和形态,人们无法直接观察到它的形态。

3. 抽象性 软件是一种逻辑实体,而不是具体的物理实体,具有抽象性。 4. 依附性 软件不象其它产品和设备能够独立存在和工作,软件的开发和运行必须依赖于计算机系统硬件。

5. 复杂性 软件的复杂性是由软件可以解决任何行业和领域中的问题的特征所决定的。 6. 泛域性 软件可以服务与人类智能所能到达的所有领域。

7. 非损性 软件在使用过程中不象其他产品存在损耗和老化现象,只要硬件环境不发生故障和改变,软件就可以永远使用。 8. 复制性 由于软件在光、电、磁的介质上贮存,所以软件具有可复制性。

9. 演化性 软件投入运行之后,软件的功能、性能、人机界面、硬件环境处于不断变化之中,我们把软件在生存周期中不断变化的特性称之为软件的动态演化性。

1.3 软件的分类 1. 按软件功能划分 系统软件是指能与计算机硬件紧密结合,使计算机系统的各个部件、相关的软件和数据协调有效工作的软件。 操作系统; 数据库管理系统; 设备驱动程序等.

1.3 软件的分类 1. 按软件功能划分 应用软件则是指为特定领域开发和服务的一类软件,我们在日常工作和生活中,大量应用的是这类软件。 企业管理软件; 财务管理软件; 股票管理软件等.

问题二: 1、具两个系统软件的例子。 2、具两个应用软件的例子。

2. 按软件规模划分 按照软件开发所需要的人力、时间和源程序行数可以把软件划分成为微型、小型、中型、大型和超大型五类。 类型 开发人员 表1-1 软件规模划分 类型 开发人员 开发期限 源程序行数 微型 1 1-4周 0.5K 小型 1-6月 1K-2K 中型 2-5 1-2年 5K-50K 大型 5-20 2-3年 50K-100K 超大型 20以上 3年以上 1M以上

二 软件的发展与软件工程

2.1 软件发展的三个阶段 1946年世界上第一台计算机出现之后,就有了程序的概念,程序是软件的前身。 几十年来,软件的发展经历了程序设计,程序系统和软件工程三个阶段。

表1-2 软件发展的三个时期和特点

1. 人们对软件的看法逐步全面化 ◆ 从专家到一般开发人员 ◆ 从艺术到工程 ◆ 从程序设计技巧到需求分析、设计、编程、调试、维护等全面软件开发

2. 软件的内涵发生了重大变化 软件的概念和内涵从简单的程序发展成为程序、数据以及软件开发所需的一切文档。

3. 软件的需求是软件发展的动力 ◆软件可以应用到社会生活的各个领域; ◆软件产业成为国民经济支柱型产业; ◆程序软件需求刺激着软件开发的发展

4. 从程序编写发展到整个软件生存期 软件的范围从程序发展到整个软件生存周期。

2.2 软件危机 60年代初,由于认识、技术和需求的变化,出现了严重软件危机,具体表现在: ◆ 软件开发不能按照计划进行控制和完成,普遍存在拖延工期的现象; ◆ 开发出来的软件满足不了用户的需求; ◆ 软件投资严重超出预算; ◆ 软件可靠性和可用性差。 ———因软件危机提出了软件工程

2.3 软件工程 一、软件工程概念的提出 软件工程(software engineering)的概念是于1968年在北大西洋公约组织举行的一次学术会议上首次提出来的。经过几十年的发展,软件工程已经成为一门独立的学科。

软件工程是运用计算机科学、数学、管理学等原理和方法,遵循系统化的思想,运用工程化方法,探索和指导软件开发和维护的一门综合性学科。 2.3 软件工程 二、软件工程的概念 软件工程是运用计算机科学、数学、管理学等原理和方法,遵循系统化的思想,运用工程化方法,探索和指导软件开发和维护的一门综合性学科。

三、 软件工程学科的基本内容 2.软件工程方法 3.软件工程技术 5.软件工程质量 6.软件工程环境 7.软件工程应用 1.软件工程原理 软件工程是一门年轻的学科,到目前为止,对软件工程学科的构成和基本内容还没有形成统一认识。主要包括以下分支学科: 1.软件工程原理 2.软件工程方法 3.软件工程技术 4.软件工程管理 5.软件工程质量 6.软件工程环境 7.软件工程应用

软件工程原理是软件工程学科所遵循的基本规律和原则,包括: 1.软件工程原理 软件工程原理是软件工程学科所遵循的基本规律和原则,包括: ◆ 软件工程学基础; ◆ 软件工程学科中的基本规律; ◆ 软件工程学科应遵循的基本原则。

软件工程方法是软件工程学科的核心。包括: ▲ 软件开发方法 ▲ 软件管理方法 ▲ 软件度量方法 ▲ 软件维护方法 2.软件工程方法 软件工程方法是软件工程学科的核心。包括: ▲ 软件开发方法 ▲ 软件管理方法 ▲ 软件度量方法 ▲ 软件维护方法

软件工程技术主要包括: ▲软件开发技术 ▲软件度量技术 ▲软件演化技术 ▲软件应用技术 ▲软件管理技术 ▲其它相关技术 ▲软件环境技术 3.软件工程技术 软件工程技术主要包括: ▲软件开发技术 ▲软件度量技术 ▲软件演化技术 ▲软件应用技术 ▲软件管理技术 ▲其它相关技术 ▲软件环境技术

4.软件工程管理 主要包括: ▲ 软件项目管理 ▲人员管理 ▲ 软件过程管理 ▲经费管理 ▲ 软件维护管理 ▲进度管理 ▲ 软件质量管理 ▲文档管理

5.软件工程度量 主要包括: ▲ 软件费用度量 ▲工作量度量 ▲ 生产效率度量 ▲质量度量 ▲ 性能度量 ▲结构和复杂性度量 ▲ 软件算法度量 ▲软件预决算

软件环境由计算机硬件、通信网络、支撑软件等要素构成。软件必须考虑软件环境以及软件环境对软件开发的制约和影响。 6.软件工程环境 软件环境由计算机硬件、通信网络、支撑软件等要素构成。软件必须考虑软件环境以及软件环境对软件开发的制约和影响。 计算机硬件 通信网络 支撑软件

软件工程应用主要研究如何有效地把软件工程原理、方法、技术应用到软件开发和维护过程中去,以有效地提高软件开发效率和质量。 7.软件工程应用 软件工程应用主要研究如何有效地把软件工程原理、方法、技术应用到软件开发和维护过程中去,以有效地提高软件开发效率和质量。 航天 交通 农业 工业 科研

三 软件生存周期与软件开发模型

3.1 软件生存周期 软件生存周期所历经的阶段到目前还没有统一的划分标准,从五阶段到十二阶段不等。 ● 软件策划 ● 软件分析 ● 软件设计 ● 系统实现 ● 软件演化

3.2 软件生存期模型 3.2.1 瀑布模型 瀑布模型反映了软件生存期各阶段明确任务、自上而下、顺序固定、逐级过渡的结构模式,各阶段的联系就象瀑布流水一样自上而下、不可逆返。

软件策划 需求分析 软件设计 实现 测试 维护 瀑布模型

3.2.2 螺旋模型 螺旋模型规定软件开发采取分步推进、逐步深化的螺旋方式。 在螺旋模型下,每一个螺旋式的循环都是对上一次循环的进一步深化和细化。快速原型法和面向对象方法都采用螺旋模型。 螺旋模型更符合人们认识事物的一般规律。

喷泉模型表示软件生存期需要划分成为多个相对独立的阶段,但各个阶段之间的界限并不是十分明确,相邻阶段之间存在明显的重迭和交叉。 3.2.3 喷泉模型  喷泉模型表示软件生存期需要划分成为多个相对独立的阶段,但各个阶段之间的界限并不是十分明确,相邻阶段之间存在明显的重迭和交叉。 系统维护 软件策划 软件分析 软件设计 软件实现

3.2.4 演化模型  演化模型软件通过多次迭代演化完成. ◆ 适应于不能明确确定需求的软件开发; ◆ 通过多次更迭过程来完成; ◆ 初期,由用户提出基本需求,构造一个核心系统; ◆ 用户进行评价,再完善; ◆ 多次反复完成软件开发.

需求 设计 实现 开 发 核心系统开发 第二次迭代 迭代模型

四 软件开发方法 1. 结构化方法 2. JSD方法 3. 原型方法 4. 面向对象方法

4.1 结构化开发方法 4.1.1 结构化开发方法的含义 结构化开发方法是指遵循系统的思想,按照工程化的方法,充分考虑用户的需求,严格划分工作阶段,自顶向下逐步分解地进行系统分析和设计,按照设计方案自底向上进行实施的一套相对完整和规范的系统开发方法。

4.1.2 结构化开发方法的特点 ◆ 遵循系统化思想 ◆ 充分考虑用户需求 ◆ 严格划分工作阶段 ◆ 按照工程化的方法 4.1.2 结构化开发方法的特点 ◆ 遵循系统化思想 ◆ 充分考虑用户需求 ◆ 严格划分工作阶段 ◆ 按照工程化的方法 ◆ 突出系统各部分的联系和结构

4.1.3 结构化分析 结构化分析用分层数据流图来进行分析

学生成绩管理顶层数据流图

数据字典

1.4.1.4 结构化设计 1、总体设计

2、详细设计 1)、IPO图

2)、流程图(程序框图) 求N的阶乘的程序流程图

3)、判定树

4.1.5 结构化开发方法的不足 ● 与人类认识问题的一般规律有相饽之处 ● 功能分析法不能够全面反映问题域 4.1.5 结构化开发方法的不足 ● 与人类认识问题的一般规律有相饽之处 ● 功能分析法不能够全面反映问题域 ● 方法的描述体系缺乏连贯性和一致性 ● 文档繁杂、开发工作量大 ● 不便于交流和理解 ● 难以适应需求的变化 ● 重用性不好

4.2 JSD方法 Jackson系统开发方法(JSD,Jackson system development method)是在Jackson的面向数据结构的程序设计方法的基础上发展而来的,是一种面向软件开发全过程的系统化开发方法。

4.2 JSD方法 划分为建模、设计和实现三个阶段。 包括实体活动分析、实体结构分析、建立进程模型、确定系统功能、确定系统时序、系统实现等6个步骤。

4.3 快速原型方法 快速原型法的基本思想是: 在系统开发中通过自动化或半自动化系统开发原型生成环境的支持,根据用户的初步需求,快速生成一个能够反映用户初步需求的系统模型,并把这个模型称之为系统原型。把产生的系统原型展现给用户,开发人员与用户有针对性地就系统原型进行讨论,用户对系统原型提出自己看法和改进意见,开发人员根据用户的意见再进一步地修改原型,并反复这个过程,直到用户对系统原型满意为止。最后把系统原型转换为实际系统。

快速原型法的特点: ● 更符合人们对事物地认识规律 ● 使系统开发工作直接化、简单化 ● 提高了系统开发效率 快速原型法的局限性 : ● 不能作为大型软件的独立开发方法 ● 不适应于内部蕴涵大量计算逻辑处理,而交互处理不多的应用 ● 不适应于非规范的业务领域

4.4 面向对象方法 ● 面向对象方法产生于1967年的第一个面向对象语言Simula; ● 面向对象的分析和设计开始于八十年代中期,广泛使用于九十年代。 ● 面向对象方法是用面向对象的思想指导系统开发的规范化软件开发方法。 ● 目前,已经形成相对成熟和完善的方法体系。

本讲小结 1.1 软件 1.1.1 软件的概念 1.1.2 软件特征 无形性、智能性、抽象性、非独立性、 复杂性、非耗损性、可复制性、 软件工程概论 第1讲 绪论 本讲小结 1.1 软件 1.1.1 软件的概念 1.1.2 软件特征 无形性、智能性、抽象性、非独立性、 复杂性、非耗损性、可复制性、 演化性、开发方式独特 1.1.3 软件的分类 一 按软件作用划分 系统软件,应用软件 二 按软件规模划分 微型、小型、中型、大型、超大型 <

本讲小结 1.2 软件的发展及软件工程 1.2.1 软件发展的三个阶段 程序设计、程序系统、软件工程 1.2.2 软件危机 软件工程概论 第 1 章 概论 本讲小结 1.2 软件的发展及软件工程 1.2.1 软件发展的三个阶段 程序设计、程序系统、软件工程 1.2.2 软件危机 50-60年代出现的一场软件开发和应用的 普遍性问题。 1.2.3 软件工程 一 软件工程概念的提出 1968年提出,一门综合性学科。 二 软件工程学科的基本内容 软件工程原理、方法、技术、管理、 质量、环境、应用 <

本讲小结 1.3 软件生存周期和软件开发模型 1.3.1 软件生存周期 1.3.2 软件工程生存周期模型 瀑布模型、螺旋模型、喷泉模型、 软件工程概论 第 1 讲 绪论 本讲小结 1.3 软件生存周期和软件开发模型 1.3.1 软件生存周期 1.3.2 软件工程生存周期模型 瀑布模型、螺旋模型、喷泉模型、 迭代模型、智能模型 1.3.3 软件工程开发的牛头模型 < 本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料 在线代理|网页代理|代理网页|http://www.dailiav.com 减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|http://pigproxy.cn

本讲小结 1.4 软件开发方法 1.4.1 结构化软件开发方法 1.4.2 JSD化软件开发方法 1.4.3 快速原型化方法 软件工程概论 第 1讲 绪论 本讲小结 1.4 软件开发方法 1.4.1 结构化软件开发方法 1.4.2 JSD化软件开发方法 1.4.3 快速原型化方法 1.4.4 面向对象软件开发方法 < 本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料 在线代理|网页代理|代理网页|http://www.dailiav.com 减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|http://pigproxy.cn