340 likes | 513 Vues
信息系统开发 (C#). 目标. 理解信息系统开发的复杂性和基于系统工程的开发思想 了解信息系统的开发原则及开发策略 理解信息系统开发生命周期 了解瀑布模式、渐增模式、原型模式、螺旋模式以及并行模式的基本特点 掌握结构化方法、信息工程方法以及面向对象方法的本质及基本实现思路 了解信息系统开发形式以及信息系统相关者的类型. 内容. 1.1 信息系统开发思想 1.2 信息系统开发原则 1.3 信息系统开发策略 1.4 信息系统开发模式 1.5 信息系统的开发方法 1.6 系统开发的多种形式 1.7 信息系统的相关者. 1.1 信息系统开发思想.
E N D
目标 • 理解信息系统开发的复杂性和基于系统工程的开发思想 • 了解信息系统的开发原则及开发策略 • 理解信息系统开发生命周期 • 了解瀑布模式、渐增模式、原型模式、螺旋模式以及并行模式的基本特点 • 掌握结构化方法、信息工程方法以及面向对象方法的本质及基本实现思路 • 了解信息系统开发形式以及信息系统相关者的类型
内容 • 1.1 信息系统开发思想 • 1.2 信息系统开发原则 • 1.3 信息系统开发策略 • 1.4 信息系统开发模式 • 1.5 信息系统的开发方法 • 1.6 系统开发的多种形式 • 1.7 信息系统的相关者
1.1 信息系统开发思想 • 1.1.2系统工程思想及应用 • 开发过程的一般规律
1.1 信息系统开发思想 • 1.1.2 系统工程思想及应用 • 系统开发的生命周期 • 系统规划阶段 • 主要是弄清这一工作的目的是什么?系统规划首先提出系统开发要求,确定系统目标,并给定资源条件和约束条件,然后制订系统开发计划。 • 系统分析阶段 • 主要是弄清目标对象是什么?系统分析是一个有目的、有步骤的探索、研究和判断的过程,系统分析员使用科学的分析工具和方法,对系统的目标、功能、环境、费用、效益等进行充分的调查和分析,最后获得最佳的系统方案。 • 系统设计阶段 • 根据需求调查和系统分析的结果,进行概略设计,提出不同的新系统方案,同时对新系统方案进行比较,并由此确定新系统的最佳方案,最后进行系统详细设计。 • 系统实施与运行 • 进行系统的实施、调试、维护、评价和运行等工作。
内容 • 1.1 信息系统开发思想 • 1.2 信息系统开发原则 • 1.3 信息系统开发策略 • 1.4 信息系统开发模式 • 1.5 信息系统的开发方法 • 1.6 系统开发的多种形式 • 1.7 信息系统的相关者
1.2 信息系统开发原则 • 领导参加的原则(一把手原则) • 信息系统的开发是一项庞大的系统工程,它涉及到组织日常管理工作的各个方面,所以领导出面组织力量,协调各方面的关系是开发成功的首要条件。 • 优化与创新的原则 • 信息系统的开发不能简单模拟旧的管理模式和业务流程,它必须根据实际情况和科学管理的要求,加以优化和创新。 • 充分利用信息资源的原则 • 数据尽可能共享,减少系统的输入输出,对已有的数据作进一步的分析处理,以便充分发挥深层次加工信息和作用。 • 实用和实效的原则 • 要求从系统规划开始直到系统实施,所有的方案都必须是实用的、及时的、有效的。 • 规范化原则 • 要求按照标准化、工程化的方法和技术进行系统开发。同时也要求用户单位基础管理科学化,即满足管理工作程序化、管理业务标准化、报表文件标准化、数据资料完整化。 • 适应性原则 • 充分考虑到组织结构、管理模式、业务流程等可能发生的变化,使系统具有一定的柔性,能够在一定范围内适应环境的变化。
内容 • 1.1 信息系统开发思想 • 1.2 信息系统开发原则 • 1.3 信息系统开发策略 • 1.4 信息系统开发模式 • 1.5 信息系统的开发方法 • 1.6 系统开发的多种形式 • 1.7 信息系统的相关者
1.3 信息系统开发策略 • “自顶而下”的开发策略 • “自底向上”的策略 • 综合策略
内容 • 1.1 信息系统开发思想 • 1.2 信息系统开发原则 • 1.3 信息系统开发策略 • 1.4 信息系统开发模式 • 1.5 信息系统的开发方法 • 1.6 系统开发的多种形式 • 1.7 信息系统的相关者
1.4 信息系统开发模式 • 1.4.1 瀑布模式
1.4 信息系统开发模式 • 1.4.1 瀑布模式
1.4 信息系统开发模式 • 1.4.2 渐增模式
1.4 信息系统开发模式 • 1.4.3 原型模式
1.4 信息系统开发模式 • 1.4.3 原型模式
1.4 信息系统开发模式 • 1.4.4 螺旋模式
1.4 信息系统开发模式 • 1.4.5 并行模式
内容 • 1.1 信息系统开发思想 • 1.2 信息系统开发原则 • 1.3 信息系统开发策略 • 1.4 信息系统开发模式 • 1.5 信息系统的开发方法 • 1.6 系统开发的多种形式 • 1.7 信息系统的相关者
1.5 信息系统的开发方法 按 分 析 按 要 时 素 间 过 程 • 1.5.2 系统开发方法的二维分类法
1.5 信息系统的开发方法 • 1.5.3 结构化方法
1.5 信息系统的开发方法 • 1.5.3 结构化方法
1.5 信息系统的开发方法 • 1.5.4 信息工程方法 • 信息工程的基本原理 • 数据位于现代数据处理系统的中心,借助于各种数据系统软件,对数据进行采集、整理、更新、维护。 • 数据是稳定的,处理是多变的。一个企业所使用的数据类固定的,是不随企业的职能域和业务过程的变化而变化。具体说,数据实体类型是不变的,除了偶尔少量地加入几个新的实体外,变化的只是这些实体的属性值。 • 最终用户必须真正参加开发工作。只有这样,用户才能将自己熟悉的业务的具体需求提交出来,并结合自己企业的特点和长期的发展战略及管理结构调整计划。 • 采用自顶向下规划和自底向上设计相结合的开发方法论。信息工程包括13块构件,主要由企业模型/战略数据规划(业务模型)、实体关系分析(E-R)、主题数据库模型、应用软件生成工具、处理过程生成、数据应用分析、分布分析、物理数据库分析、第4代过程语言、结构化程序设计和原型设计。在这些构件中,企业模型、实体关系及主题数据库是不随业务过程的变化而变化的。 • 以主题数据库规划、设计和实现为主体的企业数据环境建设,是信息工程核心内容。数据库的设计和使用的初衷就是保证数据的准确性、一致性和安全性,同时具有共享性。
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象方法的基本思想 • 从现实世界的客观事物(即对象)出发来构造信息系统,并在系统构造中尽可能运用人类的自然思维方式。开发一个系统是为了解决某些问题。这些问题所涉及的业务范围称作该系统的问题域。OO方法强调直接以问题域(现实世界)中的事物为中心来思考问题,并根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相差较远,并且没有对应关系得其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象方法的基本特点 • 从问题域中客观存在的事物出发来构造信息系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。 • 事物的静态特征(即可以用一些数据来表达的特征)用对象的属性表示,事物的动态特征(即事物的行为)用对象的服务表示。 • 对象的属性与服务结为一体,构成一个独立的实体,对外屏蔽其内部细节(称作封装)。 • 对事物进行分类。把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。 • 通过在不同程度上运用抽象的原则(较多或较少地忽略事物之间的差异),可以得到较一般的类和较特殊的类。特殊类继承一般类的属性和服务,OO方法支持对这种继承关系的描述与实现,从而简化系统的构造过程。 • 复杂的对象可以用简单的对象作为其构成部分(称作聚合)。 • 对象之间通过消息进行通信,以实现对象之间的动态联系。 • 通过关联表达对象之间的静态关系。
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象的开发过程 • 面向对象的分析(Object-oriented Analysis,OOA) • 面向对象的设计(Object-oriented Design,OOD) • 面向对象的编程(Object-oriented Programming,OOP) • 面向对象的测试(Object-oriented Testing,OOT) • 面向对象的维护(Object-oriented System Maintenance,OOSM)
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象的开发过程 • 面向对象的分析(Object-oriented Analysis,OOA) • OOA强调直接针对问题域中客观存在的各种事物来设立OOA模型中的对象。用对象的属性和服务分别描述事物的静态特征和行为。问题域有哪些值得考虑的事物,OOA模型中就有哪些对象,而且对象及其服务的命名都强调与客观事物的一致。 • 另外,OOA模型也保留了问题域中事物之间关系的原貌。这包括 • 把具有相同属性和相同服务的对象归结为类; • 用一般-特殊结构描述一般类和特殊类之间的关系(即继承关系); • 用整体-部分结构描述事物间的组成关系; • 用实例连接和消息连接表示事物之间的静态联系(一个对象的属性与另一个对象有关)和动态联系(一个对象的行为与另一个对象行为有关)。 • 可以看到,无论是对问题域中的单个事物,还是对各个事物之间的关系,OOA模型都保留着它们的原貌,没有加以转换、扭曲,也没有打破原有的界限而重新组合。所以OOA模型能够很好地映射问题域。
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象的开发过程 • 面向对象的设计(Object-oriented Design,OOD) • OOA与OOD的职责划分是:OOA针对问题域运用OO方法,建立一个反映问题域的OOA模型,不考虑与系统的具体实现有关的因素(如采用什么编程语言、图形用户界面、数据库等等),从而使OOA模型独立于具体实现。OOD则是针对系统的一个具体的实现运用OO方法。其中包括两方面的工作:一是把OOA模型直接搬到OOD(不经过转换,仅做某些必要的修改和调整),作为OOD的一个部分;另外是针对具体实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。这些部分与OOA采用相同的表示法和模型结构。 • OOA与OOD采用一致的表示法是OO方法优于传统开发方法(如结构化方法和信息工程法)的主要原因之一。这使得从OOA到OOD不存在转换,只有局部的修改或调整,并增加几个与实现有关的独立部分。因此OOA与OOD之间不存在传统开发方法中分析与设计之间的鸿沟,二者能够紧密衔接,大大降低了从OOA过渡到OOD的难度、工作量和出错率。
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象的开发过程 • 面向对象的编程(Object-oriented Programming,OOP) • OOP的任务就是采用一种面向对象的编程语言(OOPL)把OOD模型中的每个成分书写出来。 • 理想的OO开发规范,应要求在OOA和OOD阶段就对系统需要设立的每个对象类及其内部构成(属性和服务)与外部关系(静态和动态联系)都达到透彻的认识和清晰的描述,而不是把许多问题遗留给程序员去重新思考。 • 程序员所做的事情就是:用具体的数据结构来定义对象的属性,用具体的语句来实现服务流程图所表示的算法。 • OOP阶段产生的程序能够紧密地对应OOD模型;OOD模型中一部分对象类对应OOA模型,其余部分的对象类对应与实现有关的因素;OOA模型中全部类及对象都对应问题域中的事物。这样的映射关系不但提高了开发的效率和质量,对以后的维护也十分有帮助。
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象的开发过程 • 面向对象的测试(Object-oriented Testing,OOT) • OOT是指对于用OO技术开发的系统,在测试过程中继续运用OO技术,进行以对象为中心的系统测试。对于用OOA和OOD建立模型并由OOPL编程的软件,OOT能够更准确地发现程序错误并提高测试效率。原因在于:用OOPL实现的程序中,对象的封装性使对象成为一个独立的程序单位,只通过有限的接口与外部发生关系,从而大大减少了错误的影响范围。OOT以对象的类作为基本测试单位,差错范围主要是类定义之内的属性和服务,以及有限的对外接口(消息)所涉及的部分。此外,由于继承性的存在,OOT完成对父类的测试后,子类的测试重点只是那些新定义的属性和服务。
1.5 信息系统的开发方法 • 1.5.5 面向对象方法 • 面向对象的开发过程 • 面向对象的维护(Object-oriented System Maintenance,OOSM) • OO方法为系统维护提供了有效的途径。程序与问题域是一致的,各个阶段的表示是一致的,从而大大减少了理解的难度。无论是发现了程序中的错误而逆向追溯到问题域,还是需求发生了变化而从问题域正向跟踪到程序,道路都是比较平坦的。
内容 • 1.1 信息系统开发思想 • 1.2 信息系统开发原则 • 1.3 信息系统开发策略 • 1.4 信息系统开发模式 • 1.5 信息系统的开发方法 • 1.6 系统开发的多种形式 • 1.7 信息系统的相关者
内容 • 1.1 信息系统开发思想 • 1.2 信息系统开发原则 • 1.3 信息系统开发策略 • 1.4 信息系统开发模式 • 1.5 信息系统的开发方法 • 1.6 系统开发的多种形式 • 1.7 信息系统的相关者
1.7 信息系统的相关者 • 用户 • 业务操作用户 • 查询用户 • 管理用户 • 主管用户 • 客户 • 技术人员 • 开发人员 • 系统分析员与设计员 • 经济管理模型设计员 • 程序员 • 系统管理员和硬件人员