第一章
主要知识点:
软件:(三部分)
1.运行当中的指令集(程序);
2.似的程序正常运行的数据结构;
3.文档。
软件特点:逻辑实体,具有抽象性;通过人们智力活动把知识与活动转化为信息的一种产品;没有“季节摸准”;开发和运行守硬件限制;开发费用越来越高;没摆脱手工操作。
软件分类:不同标准不同分类。
功能、规模、使用频率。
软件工程:定义比较多,是指导计算机的软件开发和维护的一个工程学科。通过工程的概念原理来开发维护软件,把经过实践考验而证明正确的管理技术,和当前最好的管理方法结合起来。
软件工程研究目标:
1.定义良好方法学,面向计划,开发维护整个软件生命周期;
2.确定软件成分,记录软件生存周期每一步的文档;
3.可预测的结果。
软件工程最终目标:较少的投资获得容易维护、易理解、高效率的软件。
软件工程原则:
1.分解(问题分解);
2.独立性;
3(描述),一致性;
4.确定性。
软件工程的原理:
1、分阶段的生命周期计划严格管理(按照瀑布模型划分阶段);
2.坚持阶段评审;
3.严格的产品控制;
4.采用现代程序设计技术(结构化、模块..);
5.结果能清楚地审查;
6.合理安排软件开发小组的人员。
软件的生存周期:时间角度来说软件开发与维护,将软件生存漫长的周期分解为若干阶段,每个阶段都有相对独立的任务,慢慢完成任务。使用到维护最后废弃。
分为六个阶段:
1.问题定义(问题的定义域),问题的描述;
2.需求分析,可行性研究(四个方面:经济、技术、法律、操作可行性);
3.设计(两部分:详细、概要);
4.编码(实现);
5.测试(单元、集成、确认、系统测试);
6。运行与维护。
(三大阶段:计划阶段、开发阶段、维护阶段)
软件危机:软件开发和维护过程中遇到的严重问题,现有技术不能很好的解决。
软件危机的表现:
1.产品不合用户需要;
2.软件开发生产率满足不了用户需求,远远低于硬件发展,软件开发滞后于硬件发展;
3.质量不可靠,非常差;
4.软件开发成本和估算不准确,一般估算误差不超过20%;
5.软件可维护性差;
6.文档不合格;
7.软件的价格成本逐年上升。
软件危机的原因:
1.从软件特点看它不同于硬件,属于逻辑部件;
2.给开发和估算带来不确定性;
3.开发管理人员只重视开发,轻视了定义,或开发手段比较单一。
软件开发模型:主要是,瀑布模型(特点、基本思想,功能、不足,)、螺旋模型、圆形开发。(注意:开发模型的设计思想和特点)
第二章 可行性研究
重点掌握:系统流程图;
一般掌握:可行性研究的任务和步骤、成本效益分析(软件项目管理中提到一些算法);
系统流程图:描述物理系统的传统工具,用符号,以黑盒子形式描述内层部件。
表达部件的信息流程,而不是对信息控制加工的过程。
系统流程图功能:
1.制作过程是系统分析人员全面了解系统的过程;
2.是系统分析人员、系统管理人员、开发人员沟通的工具;
3.系统分析员画出可以计算机处理的部分;
4,分析业务流程的合理性。
可行性研究的任务:技术、经济、法律、操作(运行)角度研究。
可行性研究步骤:(基本是9个步骤)
成本效益分析:主要目的是从经济角度分析开发的新系统是否可行。
成本的估算:自顶向下、自底向上、算法模型估算(中级模型,静态单变量、懂太多变量)。
度量方法:投资回收率、纯收入等。
任务分解技术:40% 20% 等。
(注意:货币的时间价值法,列表回答问题,会计算。)
(可行性分析报告的格式)
第三章 需求分析
在我们设计开发的时候,可行性分析进行获得认可后进行需求分析。
重点掌握:需求分析的方法、面向数据流的分析方法。
一般掌握:需求分析的任务和原则。
需求分析的方法:数据域、功能域进行描述,这种方法表示系统逻辑视图、物理视图。多是通过数据流来描述。
特性:
1。支持数据域分析的机制;
2.功能表示的方法;
3.接口的定义;
4.问题分解的机制,以及对抽象的支持;
5.逻辑视图、物理视图;
6.系统的抽象模型。
面向数据流的分析方法:结构化分析方法(使用DFD,DB数据字典来描述)。
适合数据处理类型软件描述
特点:简抽象,自顶向下,逐步细化。
注意:图的画法:数据字典的描述(格式)
需求分析任务:
1.准确回答系统必须做什么,综合需求,(功能、性能、运行和将来可能提出的一些需求。);
2,分析数据需求,逻辑模型进行分析,导出系统的逻辑模型(通过现有的物理模型推断系统的逻辑模型);
3.成本
4.修正系统开发计划;
5,开发原型系统,对修正好的开发计划迅速构造一个样机,来反复运行测试。
需求分析四个步骤:调查研究、分析综合、书写文档、需求分析的评审。
需求分析的原则:
1.表达理解数据域和功能与;
2.自定向下逐层分解,
3.给出系统逻辑、物理视图。
数据流图的定义:描述数据处理过程的一个工具。
数据流图的含义:从数据传递到加工的角度,以图形方式可画数据流,从输入到输出的一个传输 变化的一个过程,表示系统内部信息流向和逻辑处理的功能。
数据流图的特性:抽象、概括、层次。
数据流图的基本符号:
数据流与加工之间的关系:分层来画,注意编号。
数据流图的作用:自顶向下的分析系统流程;图上可以画出可以计算机处理的部分;进一步做数据分析;根据数据流向定出数据存储方式。
不足:不直观。
画法:自外向内、自顶向下。
需求分析的评审:一般从从一致性、完整性、现实性和有效性,角度分析评审软件需求的正确性。
第四章 概要设计
重点掌握:设计的过称和方法;
一般掌握:设计文档和评审;
概要设计任务:系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,共专家审定,审定后进入设计;
确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块;
编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。
概要设计过程:概要设计要先进性系统设计,复审系统计划于需求分析,确定系统弄个具体的实施方案;然后进行结构化设计,确定软件结构。
几个概念:模块化、抽象(对每个事物抽取最本质的,信息隐蔽、信息局部化)、模块独立性(每个模块内部子功能)、耦合(模块间的连接紧密程度)、内聚(模块内部)。
逻辑结构设计的原则:逐渐提高模块独立性的成分,改进软件结构,模块规模适度,扇出扇入都有要求,尽量降低模块接口复杂性。
面向数据结构的分析设计方法:
1.Jackson系统开发方法:JSD 是一种典型的面向数据结构的分析设计方法,它是以信息驱动的,是将信息转换成软件的程序结构。
2.Warnier方法:另一种面向数据结构的设计方法,又称逻辑结构程序的方法。
第五章 详细设计
重点掌握:详细设计的任务和方法
一般掌握:详细设计的原则以及详细设计规格与评审
主要知识点:
详细设计的任务:
1.为每一个模块确定采用的算法;
2.确定每一个模块使用的数据结构;
3.确定模块接口的细节(包括系统用户接口和外部接口);
4.要为每一个模块设计一组测试用例。
详细设计的方法:程序流程图;N-S图;PAS图。顺序选择循环三种结构。
HIPO图是改进的IPO图,IPO图由输入、处理和输出的三个框组成。
详细设计的规模与评审:
第六章 面向对象的分析方法
重点掌握:面向对象的基本概念和特征
一般掌握:面向对象的分析方法
面向对象的基本概念:一整套如何看待软件系统与世界的关系,运用对象、消息传递、类、继承、封装、聚合、多态性的概念来构造系统的软件开发方法。
从问题域中客观问题出发抽取我们的对象,对象的属性与服务结合为一个实体,这就是封装。
面向对象方法的基本特征:
1.从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。
2.事物的静态特征用对象的属性表示,事物的动态特征用对象的服务表示。
3.对象的属性与服务结合为一体,成为一个独立的实体,封装起来,对外屏蔽其内部细节。
4.对事物进行分类。
5.通过在不同程度上运用抽象的原则,得到较一般的类和特殊的类。特殊类要继承全部一般类的属性。
6.复杂的对象可以用简单的对象作为其构成部分,称为聚合。
7.对象之间通过消息进行通信,以实现对象之间的动态联系。
8. 通过关联表达对象之间的静态关系。
面向对象的分析方法:OOD
面向对象的设计方法:
主动对象被动对象,动态模型静态模型。
第七章 编码
重点掌握:程序设计语言的特点,编程风格,程序效率和编程安全。
一般掌握:面向对象程序设计步骤。
主要知识点:
程序设计语言的特点:名字、类型说明、初始化、程序对象的局部性、程序模块、循环控制结构、分支控制结构、异常处理、独立编译。
编程风格: 。
数据说明:
语句结构:少用goto。
源程序的文档化:注释和一些版本。
编程安全、
面向对象程序设计步骤:
软件系统的动态模型、静态模型、最后的实现
第八章 软件质量与质量保证
重点掌握:软件质量的有关概念、结构化的软件测试。
一般掌握:软件维护过程。
软件质量:
1.软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。
2.在各种标准钟定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。
3.往往会有一些隐含的需求没有明确提出来。
软件质量保证策略:
1.审查;
2.复查和管理复审;
3.测试。
结构化的软件测试:
测试:用已知的输入在已知的环境中动态的执行系统,查看产生的结果与预期结果误差有多大。
软件测试:主要是对软件的计划、编码进行测试。
程序测试:主要是对代码进行测试。
测试的原则:
1.测试之前认定被测的软件有错,不要认为软件没有错;
2.要预先确定被测的软件的测试结果;
3.要尽量避免测试自己编写的程序(这是在集成测试,单元测试还是要自己测试);
4.测试要兼容合理输入数据;
5.测试要以软件需求规格说明书为标准;
6.要明确找到的新错与已找到的旧错成正比;
7.测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用例与测试方法;
8.测试用例留作测试报告与以后的反复测试试用,重新验证纠错的程序是否有错。
测试方法:静态分析技术、动态分析技术、白盒法(针对结构逻辑)、黑盒法(针对功能)。首选黑盒测试,然后是白盒测试。
软件测试步骤:
1.单元测试,驱动模块和桩模块;
2.集成测试(组合测试),消除接口问题;
3.确认测试(验收测试或合格性测试);
4.系统测试(恢复测试、安全测试、强度测试、性能测试等这都是针对某项具体的,有针对性的。)。
软件的维护、软件维护的种类。
软件维护:人们在程序运行和维护阶段对程序的修改就是维护。
维护种类:改正性、适应性、完善性。
维护的问题:多是定义计划和开发方法存在问题。
软件维护的步骤:分析和理解程序;修改程序;重新验证程序。
第九章 项目计划与管理
重点掌握:软件项目特点及软件管理功能;
一般掌握:软件配置管理过程;
主要知识点:
软件项目特点:
1.智力密集,可见性差;
2.单件生产;
3.劳动密集,自动化程度低;
4.使用方法繁琐,维护困难;
5.软件工作渗透了人的因素。
软件管理的功能:制定计划;建立组织项目;配备人员。
关于SCM 软件配置管理 考虑的一些问题:
采用什么样的方式标识和管理许多已存在的程序的各种版本?
使得变化能够有效的实现?
在软件交付用户之前和之后,如何控制变化?
谁有权批准和对变化安排优先级?
如何保证变化得以正确的实施?
利用什么办法估计变化可能引起的其它问题?
拔高思考题:
一、了解软件的概念、特点、分类方法?
二、了解软件的发展和软件危机的起因?
三、了解软件工程的概念以及基本目标和原则?
四、了解软件需求分析的目标和任务?
五、了解软件需求的获取方法?
六、了解知识需求分析的原型化方法?
七、掌握模块化划分的准则。
八、掌握结构化设计的方法。
九、掌握常用详细设计表达方式。
十、什么是结构化程序设计,它的原则是什么?
十一、掌握环域的方法,及特点。
十二、软件测试的目的和原则。
十三、了解软件测试的过程和策略。
十四、软件测试的用例的设计方法。
十五、了解软件质量的定义。
十六、软件维护的类型和策略。
十七、面向对象的基本概念。
十八、了解面向对象的OMT方法。
十九、了解成本估算的一些概念和一些方法。
二十、了解风险管理、种类。
二十一、了解软件进度安排方法,及使用工具。
分享到:
相关推荐
适用群体:适用于辽宁工程技术大学软件工程(专升本)、计算机科学与技术(专升本)等计算机类专业学习该课程的同学,其他学校其他计算机相关专业需要学习计算机网络相关科目的同学也可就此学习和参考 说明:期末...
复习纲要是备考的核心指南,它涵盖了考试的主要知识点和技能要求。以下是根据四个单元的文件名称(纲要第一单元、第二单元、第三单元、第四单元)推测出的可能涉及的重要知识点: 第一单元:基础理论与网络协议 这...
"软件设计师复习纲要" 本资源摘要信息中,涵盖了软件设计师考试的主要知识点,包括计算机与软件工程知识、计算机系统知识、软件知识、数据库知识、计算机网络知识、系统性能知识、计算机应用基础知识、系统开发和...
"06软件工程复习纲要.ppt"是一个详细的复习提纲,它可能列出了课程中的关键点和考试重点,是复习时的重要指南。"06软工课件第四章.ppt"可能涉及到软件项目管理和质量保证,包括WBS(工作分解结构)、风险管理以及ISO...
这份资料包含了山东大学软件工程课程的历年试题,以及相应的复习纲要,旨在帮助学生全面理解和掌握这个领域的核心概念。 软件工程是一门综合性的学科,它涉及到软件开发的全过程,包括需求分析、设计、编码、测试和...
计算机科学的核心之一是编程语言和软件工程,文档中提到了计算机语言的发展,从早期的机器语言、汇编语言到高级的编程语言,如第四代语言(4GL)。还提到了像Lotus 1-2-3、WPS和Word这样的办公软件,这些软件极大地...
本文将深入解读“C语言 2010年国家二级 复习纲要”,涵盖算法特征、复杂度分析、数据结构类型、线性与非线性结构、树形结构以及软件工程基础等关键领域,旨在帮助考生系统地理解和记忆这些核心知识点。 ### 算法...
在山东大学的软件工程和数字媒体专业中,人机交互技术是重要的学习内容,这门课程的复习资料对于深入理解和掌握相关知识至关重要。 《2017-18人机交互技术课程复习大纲.doc》可能包含了该课程的主要学习目标、课程...
嵌入式系统是计算机科学与电子工程领域的一个重要分支,主要关注在小型、特定用途的设备上运行的软件和硬件的交互。南京邮电大学的《嵌入式系统与开发》课程显然涵盖了这一领域的核心概念和技术,以帮助学生掌握...
在大学的计算机科学和软件工程专业中,"Intel微处理器,结构,编程与接口"是一门至关重要的课程。这门课程旨在让学生深入理解计算机硬件的核心部分——微处理器,以及如何通过编程与它交互。以下是对这门课程复习...
数据结构复习纲要 数据结构是计算机科学和软件工程中的一个基础概念,涉及到数据的逻辑结构、存储结构和基本操作。数据结构的选择对程序的效率和可读性有着非常重要的影响。本节笔记将对数据结构的基本概念、逻辑...
山东大学软件学院高级机器学习(硕士)复习纲要 本资源摘要信息涵盖了机器学习的基本概念、分类、模型选择、学习准则、优化算法、过拟合和欠拟合、回归学习、KNN 算法和 SVM 算法等知识点。 1. 机器学习的概念和...
【计算机等级考试VFP复习纲要】主要涵盖了数据结构与算法、程序设计基础以及软件工程基础等核心知识点。 1. **数据结构与算法** - **算法特征**:包括可行性、确定性、有穷性和拥有足够的情报。确定性意味着算法的...
全国计算机等级考试四级复习纲要主要涵盖了计算机的发展历程和技术进步,这是理解计算机科学和技术发展的重要基础。本复习纲要从器件的角度对计算机的发展进行了划分,包括电子管计算机、晶体管计算机、集成电路...
全国计算机等级考试四级复习纲要涵盖了计算机发展历程的关键知识点,主要按照计算机硬件的发展和技术应用的变化进行划分。以下是详细的内容: 一、计算机硬件发展史 1. 电子管计算机(1947-1957):ENIAC是现代电子...
【计算机等级考试VFP复习知识点】 1. **算法特性**: - **可行性**:算法的每一步骤都应有...以上就是2011年计算机等级考试VFP复习纲要中涉及的主要知识点,这些内容对于理解和掌握计算机科学的基础原理至关重要。