系统开发与分析
- 格式:pdf
- 大小:177.71 KB
- 文档页数:6
系统开发与分析1、软件:是一系列按照特定顺序组织的计算机数据和指令的集合。
2、软件开发:是根据客户要求建造出软件系统或系统中的软件部分的过程。
3、利益相关者:在软件项目中存在利害关系的人,即任何受到系统影响或对系统开发产生影响的人。
包括:客户和开发者。
4、本质问题:软件本身在分析与设计上存在先天困难,即如何从抽象性问题发展出具体概念上解决方案。
5、意外事件:将概念上的构思施行于计算机上遇到的困难。
6、软件开发模型:指软件开发全部过程、活动和任务的结构框架。
软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段7、瀑布模型:(温斯顿罗伊斯)将软件生命周期分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等6个活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
软件构台各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。
当前活动的工作结果需要时行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
8、瀑布模型的特点(缺点):1各个阶段的划分完全固定,阶段之间产生大量的文档,极大的增加了工作量。
2 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。
3早期的可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
9、快速原型模型:建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。
通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么。
(关键在于迅速建立原型,随之按客户需求迅速修改原型,所以原型系统的内部结构并不重要。
)10、螺旋模型:该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。
这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代优缺点:优点1)设计上的灵活性,可以在项目的各个阶段进行变更。
2)以小的分段来构建大型系统,使成本计算变得简单容易。
3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
4)随着项目推进,客户始终掌握项目的最新信息, 从而他或她能够和管理层有效地交互。
5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
缺点很难让用户确信这种演化方法的结果是可以控制的。
建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
螺旋模型的项目适用:对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更!十一、系统分析:是一种问题解决技术,将一个系统分解成各个组成部分,目的是研究各部分是如何工作、如何交互,以实现其系统目标。
十二、常用的系统分析方法:1模型驱动分析访求 2加速系统分析方法 3需求获取分析方法 4 业务过程重构分析方法。
十三、模型驱动分析方法:使用图形交流业务问题、需求和方案,如流程图、结构或层次图、组织结构图等。
(结构化分析方法,信息工程方法,面向对象分析方法)十四、流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。
十五、数据流图:描述在一个系统中现有的(或建议有的)过程,以及它们的输入、输出和数据。
模型描述了过程之间和通过过程的数据流,并展示了数据存储的位置。
组成元素:数据流:是数据在系统内传播的路径,是流动中的数据,所以必须有流向。
用有方向的箭头表示数据源(终点):代表系统之外的实体,可以是人、物或其他软件系统。
用矩形表示对数据的加工(处理):加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
用圆形(椭圆形)表示数据存储。
表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
用一端封闭的矩形(或两端均不封闭)表示十六、实体关系图(ER):是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。
实体:用矩形表示,矩形框内写明实体名。
属性用椭圆形表示。
联系:用菱形表示,菱形框内写明联系名。
十七、类图显示了一组类、接口、协作以及他们之间的关系。
十八、系统分析的不同阶段1、范围定义阶段任务:(1)列出问题和机会:确定触发该项目的问题、机会和指示,并且对每个问题、机会和指示都按照紧急程度、可见性、好处和优先权进行评估;不涉及详细分析,但可以列出任何可见的约束(限制)条件。
(2)协商项目的初步范围:定义项目的边界,哪些业务被包括进来,哪些业务不被包括进来。
(3)评估项目价值:确定整个项目的开发是否值得。
(4)计划项目进度表和预算:包括进度和分配给整个项目的资源。
(5)汇报项目计划。
2、问题分析阶段任务:(1)研究问题领域(2)分析问题和机会(3)分析业务过程(4)制定系统改进目标(5)修改项目计划(6)汇报调查结果和建议3、需求分析阶段任务:(1)排列需求的优先次序(2)修改项目计划(3)交流需求陈述4、决策分析阶段任务:(1)确定候选方案(2)分析候选方案(3)比较候选方案(4)修改项目计划(5)推荐一种系统方案十九、需求分析:在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
功能需求:说明系统必须实现什么的需求。
非功能需求:说明系统必须具备的属性和质量的需求。
需求获取的过程:发现和分析需求、需求协商与确认、需求管理、生成需求文档二十、传统描述方法:出发点:1.系统是处理的集合,2.处理与数据实体的交互。
3处理所接受的输入并产生输出。
针对点:处理、数据、输入与输出。
二一、面向对象方法:出发点:1系统是交互对象的集合。
2对象与人或其他对象之间交互。
3对象发送和响应消息针对点:显示对象、对象的行为、对象之间的交互二二、面向对象描述方法的表现形式:1系统活动----用例图2确定输入和输出----顺序图3确定对象行为----状态图二三、用例图:一种用来显示不同用户角色和这些用户角色如何使用系统的图,用来记录系统。
用例:在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。
二四、顺序图:在用例中,用于显示外部参与者和系统之间的消息顺序的图。
用生命线表示这个对象的时间阶段。
输入消息一般用实线箭头,输出消息一般用虚线箭头。
二五、系统设计阶段包括两部分:架构设计和细节设计。
二六、系统设计阶段工作:设计和集成网络(设计阶段)设计应用程序的结构(设计阶段)设计用户界面(设计阶段)设计系统接口数据库的设计与集成(设计阶段)设计细节的原型系统控制的设计与集成二七、框架:框架是一个待实例化的完整系统,定义了软件系统的元素和关系,创建了基本的模块,定义了涉及功能更改和扩充的插件位置。
典型的框架例子有MFC框架和Struts框架。
二八、典型的软件体系结构风格:1、仓库风格(黑板风格、数据库系统、超文本系统)在这种风格中,数据仓库(如文件或数据库)位于这种体系结构的中心,其他构件会经常访问该数据仓库,并对仓库中的数据进行增加、修改或删除操作。
黑板构件负责协调信息在客户间的传递,当用户感兴趣的数据发生变化时,它将通知客户软件。
二九:数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据集合。
三十、数据库中相关概念:实体(Entity)客观存在并可相互区别的事物。
可以是具体的人、事、物或抽象的概念。
属性(Attribute)实体所具有的某一特性。
一个实体可以由若干个属性来刻画。
码(Key)唯一标识实体的属性集称为码。
域(Domain)属性的取值范围称为该属性的域。
实体型(Entity Type)用实体名及其属性名集合来抽象和刻画,同类实体称为实体型联系(Relationship)现实世界中事物内部以及事物之间的联系,在信息世界中反映为实体内部的联系和实体之间的联系三一、数据库设计:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求三二、数据字典:数据字典是各类数据描述的集合,数据字典是进行详细的数据收集和数据分析所获得的主要结果包括:数据项数据结构数据流数据存储处理过程。
第一范式(1NF)如果关系模式R中不包含多值属性,则R满足第一范式(First Normal Form),记作:R∈1NF。
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
第一范式是对关系模式的最起码的要求。
不满足第一范式的数据库模式不能称为关系数据库。
但是满足第一范式的关系模式并不一定是一个好的关系模式。
第二范式(2NF)如果一个关系R∈1NF,且它的所有非主属性都完全函数依赖于R的任一候选码,则R属于第二范式,记作:R∈2NF。
第三范式(3NF)如果关系模式R∈2NF,且它的每一个非主属性都不传递依赖于任何候选码,则称R是第三范式,记作:R∈3NF。
对1NF 关系进行分解,消除原关系中非主属性对码的部分函数依赖,将1NF关系转换为多个 2NF。
对2NF 关系进行分解,消除原关系中非主属性对码的传递函数依赖,产生一组 3NF。