软考系统分析师第一章要点知识
第一章
1、软件的概念:软件是一种逻辑实体,而不是具体的物理实体
软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。
其中:程序--按事先设计的功能和性能要求执行的指令序列;数据--使程序能正常操操纵信息的数据结构;文档--与程序开发、维护和使用有关的图文材料。
2、软件的特点:软件的生产与硬件不同;软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同一内容的副本。软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。软件是复杂的,而且以后会更加复杂。软件工作牵涉到很多社会因素。软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
3、软件的分类:
1.基于软件功能:系统软件(OS,DBMS)、 支撑软件(各种软件开发包等)、 应用软件(各种MIS系统)。
2.基于软件工作方式: 实时处理软件、分时软件、交互式软件、批处理软件。
3.基于软件规模:微型软件、小型软件、中型软件、大型软件、甚大型软件、超大型软件。
4、系统开发的生命周期:系统开发生命周期(Software Development Life Cycle,SDLC)是指这样的一个过程,包括:理解信息系统对业务需求的支持,设计系统,构建系统,以及把系统移交给用户。计划、分析、设计、实现。
各阶段的任务及结束标志
计划阶段是理解为什么要创建信息系统和确定项目团队将如何来开发它的基本过程。计划阶段由2个步骤组成:
1)在项目启动期间,要确定系统给组织带来的业务价值。主要通过技术可行性、经济可行性、组织可行性分析来完成。
2)项目批准后,进入项目管理。
分析:分析阶段说明此系统由谁来用,用作什么,在哪里用,以及什么时候用这些问题。在此阶段,项目团队调查现有系统,确定可改进的地方,以及开发新系统的方案。主要步骤如:
1)开发分析策略来指导项目团队工作。
2)收集需求。
3)分析结果,系统方案和模型组合成系统建议书。
设计:设计阶段确定系统将如何运行,涉及硬件、软件和网络基础设施;将要使用的用户界面,窗口、窗体和报表;所需的专用程序、数据库和文档。具体步骤如下:
1)创建设计策略。
2)开发系统的基本架构设计,描述要用到的软、硬件和网络设施。
3)开发数据库和文档规格。
4)开发程序设计规格,定义需要编写的程序和每个程序确切要做的事情。
实现阶段是SDLC的最后阶段,是系统实际构建阶段。主要步骤如下:
1)系统构建。
2)系统安装。
3)建立系统的支持计划。
5、系统开发方法:结构化和面向对象
结构化:(1)、瀑布式开发
每个阶段都是在前一阶段完成的基础之上才进行。
优点: 系统中编程之前就已确定; 项目进行期间变动不大。
缺点: 编程之前需要充分的设计; 需求的变动无法及时得到解决。
(2)、并行开发:在概要设计完成之后分成多个子系统,然后分别进行设计和实现,最后再组合成一个系统。
优点: 提高了项目开发的效率。
缺点: 子项目间可能会相互影响; 项目中加入了子项目的集成。
(3)、快速应用开发(Rapid Application Development,RAD)是指结构化方法的基础上创建,用于解决结构化方法中的编程之前需要充分设计和在开发过程中需求变更无法得到及时响应的缺点,使用RAD,可以使系统的部分功能更快的开发并提交给用户。
遵循RAD的方法主要有:过程为中心,数据为中心,面向对象。
(4)、敏捷开发(Agile Development)是一种新兴的开发方法,它是以编程为中心,注重简化过程,强调迭代式的开发。
遵循敏捷开发的方法主要有:极限编程(eXtremeProgramming,XP),Scrum和动态系统开发方法(Dynamic Systems Development Method,DSDM)。
开发方法的选择主要考虑以下因素:
用户需求的清晰度、技术的属性程度、系统复杂度、系统可靠性、项目的时间进度要求、项目的进度可见性。
6、文档项目文档包括所有的可交付物,有关该项目的历史记录。常见的文档:可行性研究报告;各种计划、需求分析、系统各种设计、程序代码,测试脚本,数据库脚本等,各种分析报告。