精华内容
下载资源
问答
  • 由希赛IT教育研发中心组织编写,根据最新的系统分析师考试大纲及培训指南,按照系统分析与设计案例考试的所有知识点对历年(1990~2009)考试试题进行了分析和总结,对新版的考试大纲规定的内容有重点地细化和深化。...
  • 系统分析与设计概述

    千次阅读 2019-12-02 19:43:51
    title: 系统分析与设计概述 date: 2019-12-02 17:33:46 categories: 系统分析与设计 tags: 概述 系统概述及特性 概述 系统是一组实现某些结果相互联系、相互作用的部件的集合体 信息系统即信息管理系统,是一...

    title: 系统分析与设计概述
    date: 2019-12-02 17:33:46
    categories:

    • 系统分析与设计
      tags:
    • 概述

    系统概述及特性

    • 概述

      • 系统是一组实现某些结果相互联系、相互作用的部件集合体
      • 信息系统即信息管理系统,是一组以收集、处理、存储信息为基础啊,并输出完成业务任务所需信息为提交的相互联系、相互作用的集合体。
    • 特性

      • 可分解性
        • 功能分解
        • 系统是由可分解的、相互联系的部件在系统中一起作用
      • 边界性
        • 每一个系统与其所在环境都是有边界的,任何输入输出都必须通过这个系统的边界
        • 系统的自动部分和手动部分之间的分界,也称自动化边界

    系统分类与环境

    • 信息系统的分类:事务处理系统、管理信息系统、智能决策支持系统、办公自动化系统
    • 环境
      • 信息系统的发展经历了数据处理、管理信息、决策支持三个阶段
      • 高速的计算机网络环境
      • 对象技术和协作技术
        • 面向对象开发的优点:对象是可以复用的、对象是可扩展的

    系统模型

    • 模型一般是系统的一种图形表示,描述了系统的实际情况或者期望情形。

    • 模型是对所研究的系统、过程、事务或概念的一种表达形式

    • 在信息系统中,模型一般用于对系统的输入、输出、过程、数据、对象、对象之间的相互作用、位置、网络与设备,以及其他相关事物的表达。

    • 常见的构件模型

      • 流程图
      • 数据流图
      • 实体关系图(ER图)
      • 结构图
      • 用例图(UML图)
      • 类图
      • 顺序图
      • PERT图和甘特图一般用于管理系统开发的过程中

    系统模型的类型

    1.上下文模型(过程模型)

    • 关注于“过程”,有助于消除非技术人员与用户与技术人员的交流隔阂
      • 流程图
      • 数据流图
      • 结构图

    2.数据模型

    • 必不可少的部分,增加“知识”是信息系统框架必不可少的部分
    • 实例
      • 数据库的设计

    3.对象模型

    • 基于面向对象技术的发展,是想对先进的系统开发方法
      • 类图
      • 实体关系图
      • 用例图

    系统关联人员

    • 系统所有者
    • 系统用户
    • 系统分析设计人员
    • 系统外部服务人员
    • 项目经理

    系统分析过程

    1.范围定义

    • 确定“系统是否存在开发的价值”
    • 任务
      • 确定系统项目开发动机
      • 协商系统项目初步范围
      • 评估系统项目的价值
      • 制订系统项目计划

    2.问题分析

    • 确定“系统真的具有开发价值吗”
    • 任务
      • 研究问题领域
      • 分析问题和机会
      • 分析业务过程
      • 制订系统改进目标
      • 修改项目计划与汇报

    3.需求分析

    • 为新系统定义业务需求
    • 步骤
      • 定义需求
      • 排列需求的优先次序
      • 修改项目计划
      • 交流需求陈述

    4.决策分析

    • 确定候选方案,分析候选方案,选择其一为设计、构造和实现的目标系统
    • 任务
      • 确定候选方案
      • 分析候选方案
      • 比较候选方案
      • 修改项目计划并推荐系统方案

    信息领域

    1. 问题域与系统责任

    • 问题域指被开发系统的应用领域,即在现实世界这个系统进行处理的业务范围
    • 系统责任是所开发系统应具备的职能

    2.交流问题

    • 人与人的交流是分析工作面临的另一个重要问题
    • 各个系统关联人员之间的交流

    3.需求的不断变化

    4.复用的要求

    • 软件复用是提高系统开发效率,改善软件质量的重要途径

    建模和模拟

    • 模型是对所研究系统、过程、事物或概念的一种表达形式,是对被研究对象的一种抽象

    • 系统分析从建模的角度讲,分为

      • 模型驱动分析法
        • 强调绘制图形化系统来记录和验证现有的或建议的系统
      • 模拟分析法
        • 首先模拟原型系统,原型是用户提供响应需求的一个快速而粗略的实现,用来确定用户需求

    系统开发的生存周期

    1.系统启动阶段

    • 定义问题域
    • 制定项目的进度表
    • 确认项目的可行性
    • 安排项目人员
    • 启动项目

    2.分析阶段

    • 收集信息
    • 定义系统需求
    • 建立需求发现的原型
    • 划分需求的优先级
    • 产生并评价可选方案
    • 审查并推荐方案

    3.设计阶段

    • 设计和集成网络
    • 设计应用和结构
    • 设计用户界面
    • 设计系统界面
    • 设计和集成数据库
    • 设计细节的原型化
    • 设计和集成系统控制

    4.实现与维护阶段

    • 构造软件部件
    • 检验和测试
    • 培训用户和制作文档
    • 安装系统

    系统开发方法

    1.结构化系统开发

    2.原型法

    3.面向对象方法

    4.敏捷开发

    展开全文
  • 系统分析与设计——UML图总结

    千次阅读 2019-07-14 14:32:09
    期末考试之前,我复习系统分析与设计的时候对UML图做了一些知识汇总,现在放到博客上。如果有不对或不恰当的地方,欢迎各位指正。本文仅仅起记录作用,可随意转载,荣幸之至。 截图来自网络或是老师的PPT 二. 概述 ...

    一. 前言
    期末考试之前,我复习系统分析与设计的时候对UML图做了一些知识汇总,现在放到博客上。如果有不对或不恰当的地方,欢迎各位指正。本文仅仅起记录作用,可随意转载,荣幸之至。
    截图来自网络或是老师的PPT

    二. 概述
    · 系统模型的三个主要部分:
    在这里插入图片描述
    功能模型:从用户的角度来看,系统的功能。包括用例图等
    对象模型:用对象表示系统的结构和子结构、属性、操作或关系等。包括类图
    动态模型:表示系统的内部行为。包括顺序图、活动图、状态图等

    · 行为图和交互图:
    在这里插入图片描述
    行为图包括:用例图、状态图、活动图和交互图。交互图又包括顺序图,协作图等。用一个树形结构来表示各种图的关系:

    下面根据例子介绍主要的几种图。

    三. 具体例子
    · sequence diagram(顺序图):
    从左到右画出对象及其生命线,对象用矩形表示,生命线用虚线;
    在生命线中嵌入的矩形,表示某一过程;对象之间用带箭头的线表示消息传递:

    上图表示客户在银行取款的部分顺序图。客户插卡属于消息传递,用带箭头实线表示并在线上面注明行为;
    返回的消息用带箭头虚线表示。同步消息和异步消息的区别如图所示。

    如果消息传递受某个条件限制,将该条件用 [] 括起来;
    表示if…else…结构,用Alt关键字标示(即alternative),并将该结构用实线框括起来:

    if…then…结构同上,区别在于关键字Alt改为Opt。
    再放一个例子:电梯系统中,一个乘客在一楼呼叫电梯准备上六楼:

    这个电梯系统的顺序图是我自己设计的,不一定很正确,但是可以参考画顺序图的规则。


    · state machine diagram(状态图):
    表示系统的各个对象的状态变化。状态用圆边矩形表示,状态之间用带箭头实线表示,实线上标注驱动状态改变的事件。
    起始点(请忽略图中的文字):
    在这里插入图片描述
    结束点:
    在这里插入图片描述
    异常终止点:
    在这里插入图片描述
    例子:仍然是电梯系统,一个乘客在一楼呼叫电梯准备上六楼,电梯的状态图:
    在这里插入图片描述
    历史状态:例如,洗衣机洗到一半突然断电,但是记录了历史状态,当通电后可以继续运行:
    在这里插入图片描述


    · collaboration diagram(协作图):
    主要表示对象间的协作关系。对象用矩形表示,用带无箭头实线表示对象间有关系,实线上方用箭头表示消息的传递,注意这些消息要用序号标记。
    下图为一个打印公司的协作图:
    在这里插入图片描述
    再例如,下图为一个安保系统的协作图,包括的对象有保安,操作台,火警传感器,安保传感器,窃贼:
    在这里插入图片描述


    · use case diagram(用例图):
    表示系统的对象和用例。系统具有边界,对象用矩形表示,画在边界外;用例用椭圆表示,画在边界内。一个对象是一个用例的actor,则将它们连起来。
    用例的关系:包含、扩展、泛化,包含和扩展都是虚线,而泛化是实线+三角,泛化的画法同对象图。扩展关系标注为extend,是带箭头的虚线,指向被扩展的用例。包含关系标注为include,也是带箭头的虚线,指向被包含的用例。
    行为者和用例的连接是不需要文字说明的。
    在这里插入图片描述
    在这里插入图片描述
    当用例图设计多个系统、多个对象,可以分开来画:
    在这里插入图片描述


    · activity diagram(活动图):
    活动图是用例流,不使用对象、类等,但是对象也可以标注出来,要下划线,可用[]表示当前该对象的状态。
    活动图的泳道:将用例按照功能或者对象分成几个部分,用实线隔开,状似泳道:
    在这里插入图片描述
    包括起始点、终止点(和状态图相同),对操作流建模,当一个操作完成时,流立即转移到下一个操作。状态的自动转移使它区别于状态图。下例为“作者-出版社-印刷厂”的活动图:
    在这里插入图片描述
    分支(选择性转移)的画法(状态图的分支也是这样画):
    在这里插入图片描述
    并发执行的画法:
    在这里插入图片描述


    · component diagram(组件图):
    通常组件在运行时由一个或多个(对象)实现,具有比类图更高的抽象级别。组件图中所有的元素都是私有的。组件图之间通过接口相连,接口分为两种:一种用于访问其他组件(凸形),一种提供给其他组件访问(凹形)。例如:
    在这里插入图片描述


    · class diagram(类图)
    类图是最常见的UML模型。包括类名、属性、方法三个部分:
    在这里插入图片描述
    类之间的关系有(根据关联强度从大到小):泛化=实现,组合,聚合,关联,依赖。
    类图分为分析类图和设计类图。我们一般先构思分析类图,再构思设计类图。两者的区别:
    a.一个分析类可能被分解成一个或多个设计类或接口;
    b.在分析阶段类图研究领域的概念,可以理解为从需求中获取,而在设计阶段类图重点描述类与类之间的接口;
    c.分析类的三高:高于设计实现(不必理会复杂的设计要求比如系统框架)、高于语言实现(不必理会采用哪一种特性的语言来编写)、高于实现方式(不必考虑采用哪一种具体的实现方式)。

    设计类应当:指明每个模块的指责、具有完整的属性和完全的描述(可见性、属性名、类型、默认值)、完整的实现方法(可见性、方法名、变量列表、属性、返回值)。例如:
    在这里插入图片描述
    分析类转为设计类:细化分析类(分析类的抽象更加细节化、增加新的属性以使类能够完整地实现)、将大的分析类拆分;细化分析关系:拆分出整体和部分(用组合或聚合连接);注意标出数据结构的特点如indexed、sorted、set:
    在这里插入图片描述
    总之,当我们分析问题域的时候,我们一般用分析类图进行表示;当我们的分析已经成熟,考虑将它们具体地实现时,一般会借用设计类图。

    展开全文
  • 信息系统分析与设计课程心得

    万次阅读 2017-02-28 13:41:39
    信息系统分析与设计课程心得此博客为信息系统分析与设计课程的学习心得记录。一、绪论1概念1.1信息要了解信息系统,首先要了解信息的概念。信息是我们理解世界的重要概念,我对它的定义是:信息是对客观事物及其相互...

    信息系统分析与设计课程心得

    此博客为信息系统分析与设计课程的学习心得记录。

    原文出自http://blog.csdn.net/qq_31456593/article/details/58593089


    第1、2、3章:
    1、信息定义与基本属性?
    信息是经过加工后的数据,它对接收者有用,对决策或行为有现实或潜在的价值。具有以下基本属性:
    事实性、扩散性、传输性、共享性、增值性、不完全性、等级性、滞后性

    2、系统的特性
    系统的整体性、系统的层次性、系统的目的性、系统的稳定性
    系统的突变性、系统的自组织性、系统的相似性

    3、管理的层次
    一个企业可以分为三个层次:高层管理(战略管理)、中层管理(战术管理)、基层管理(作业管理)。
    战略性决策指有关重大方向性问题的决策
    战术性决策指为了保证战略性决策所需要的人、财、物的准备而进行的决策
    日常业务活动决策往往有经常性和重复性,有规律可循,可以事先安排

    4、信息系统定义与对企业管理的影响
    信息系统就是输入数据,通过加工处理,产生信息的系统
    以计算机为基础的信息系统定义为:结合管理理论和方法,应用信息技术解决管理问题,为管理决策提供支持的系统。特点是面向管理。
    对企业管理的影响(企业过程重组BPR):
    1)帮助企业高层领导规划、控制企业的运作,获得整个企业内部和外部信息,以辅助他们决策
    2)支持企业中层管理,辅助管理控制
    3)帮助企业基层有效地应用信息技术,减少重复劳动,提高工作效率

    第4章:
    1、复杂性的理解
    信息系统建设周期长、投资大、风险大,比一般技术工程有更大的困哪和复杂性,这是因为:
    1)技术手段复杂
    2)内容复杂,目标多样
    3)投资密度大,效益难以计算
    4)环境复杂多变

    2、信息系统开发是一个社会过程
    1)将信息系统建设与一般技术工程相比较,信息系统建设的困难不仅来自技术方面,还来自企业内部环境。
    2)影响信息系统成败的有体制、政策、法规、观念、技术鞥多种因素。技术不是唯一因素,甚至不是主要因素。
    3)信息系统是人机交互系统,其开发、维护都离不开人的参与。从社会行动观点看,信息系统系统开发是人类活动协调序列,是多种参与者的协作过程。
    4)信息系统不只是单纯的计算机系统,而是辅助企业管理的人机系统

    3、信息系统的生命周期

    系统规划、系统分析、系统设计、系统实现、系统运行和维护
    系统规划阶段:系统规划阶段的任务是对企业的环境、目标及线性系统的状况进行初步调查,根据企业目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。根据需要与可能,给出拟建系统的备选方案。对这些方案进行可行性分析,写出可行性分析报告。可行性分析报告审议通过后,将新系统建设方案及实施计划编写成系统设计说明任务书。

    系统分析阶段:系统分析阶段的任务是根据系统设计任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出线性系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。这个阶段又称为逻辑设计阶段。这个阶段是整个系统建设的关键阶段,也是信息系统建设与一般工程项目的重要区别所在。
    系统分析阶段的工作成果体现在系统说明书中,这是系统建设的必备文件。他既是给用户看的,也是下一阶段的工作依据。因此,系统说明书既要通俗,又要准确。用户用过系统说明书可以了解未来系统的功能,判断是不是奇说要求的系统。系统说明书一旦讨论通过,就是系统设计的依据,也是奖励来验收系统的依据。
    系统设计阶段:简单的讲,系统分析阶段的任务是回答系统“做什么”的问题,而系统设计阶段要回答的问题是“怎么做”。该阶段的任务是根据系统说明书中规定的功能要求,考虑实际条件,具体设计实现逻辑模型的技术方案,也即设计新系统的物理模型。这个阶段又称为无力设计阶段。这个阶段又可分为总体设计和详细设计两个阶段。这个阶段的技术文档是“系统设计说明书”。

    系统实施阶段:系统实施阶段是将设计的系统辅助实施的阶段。这一阶段的任务包括计算机等设备的购置、安装和陶氏,程序的编写和调试,人员培训,数据文件转换,系统调试与转换等。这个阶段的特点是几个互相联系、互相制约的任务同时展开,必须精心安排、合理组织。
    系统实施是按实施计划分阶段完成的,每个阶段应写出实施进度报告。系统测试之后写出系统测试分析报告。

    系统运行和维护阶段:系统投入运行后,需要经常进行维护和评价,记录系统运行的情况,根据一定的规格对系统进行必要的修改,评价系统的工作质量和经济效益。

    4、信息系统开发方法
    生命周期是指导性方针,很抽象,具体的信息
    系统开发方法有很多,主要研究方向有两类:
    针对开发过程: 不同的信息系统开发过程模型。关注整个开发采取哪些步骤,每个步骤包含哪些任务,由什么人完成,任务的成果如何体现等,也称为不同的生存周期模型
    针对开发技术: 不同的建模方法,从不同的观点来反映系统的全貌,并采用不同技术手段予以实现
    瀑布开发方法

    强调阶段的划分和阶段严格的顺序
    各阶段工作任务明确,要求文档完备性
    是一种严格线性的按阶段顺序的、逐步细化的开发模式,消除了软件开发的随意性

    特点:
    1) 简单易用,容易理解
    2) 开发的进程一个顺着一个,没有反馈过程,需要严密控制
    3) 允许基线和配置早期接收控制
    4) 一个新的项目不适合这种模型
    5) 用户直到项目结束才能看到质量如何
    6) 不允许或者严格限制变更
    不足:
    需求:客户常常难以表达真正的需求,而这种模型却要求严格的阶段性成果,返工困难,变 更代价很大
    风险:客户要等到开发周期的晚期才能看到程序运行的测试版本,这时若发现大的错误,可 能引起客户的惊慌,其后果也可能是灾难性的
    效率:因为前后任务的依赖关系,成员不能并行工作,有可能花在等待的时间比开发的时间 要长,即所谓的“堵塞状态”
    (适用于一些需求已明确并且变化较少的信息系统)

    原型开发方法

    特点:
    用户积极参与
    原型的开发没有严密的阶段性
    短期获得测试版本,降低风险

    应用于以下场合:
    需求含糊,用户不能标识出详细的输入、处理和输出需求
    设计方案不明确,开发人员不能确定算法的有效性、操作系统的适应性或人机交互的有效性

    不足:
    1. 用户随意无止境的需求变化,因为用户容易产生误解,认为系统很容易被构造和修改
    2. 如果采用原型基础上继续构造,由于修补过度,软件质量不易于保证
    3. 开发人员为了快速构造原型,可能会采用不合适的操作系统、语言、算法等,造成后期风险,如系统适应性差、维护困难等

    增量开发方法
    一条直线一次性到达目的总是困难的。
    紧迫的市场期限使得难以完成一个完善的软件产品,缓解压力的方式是先提交一个有限的版本,细节部分逐步增加。
    增量模型——融合了瀑布模型的基本成分和原型的迭代特征。采用随着日程时间的进展而交错的线性序列。 搭积木的方式,如按子系统划分增量

    特点:
     以功能递增的方式进行软件开发
     能较快地产生可操作的系统
     在每一步递增中,都可以把用户/开发者的经验结合到不断求精的产品中
     可改善测试效果和降低软件开发总成本
    应用场合:
     项目开始,明确了需求的大部分,但是需求可能会发生变化
     对于市场和用户把握不是很准,需要逐步了解
     对于有庞大和复杂功能的系统进行功能改进,本身就需要一步一步实施的。

    螺旋开发方法
    把软件开发过程定义成不断上升的螺旋周期,每个周期划分为计划、风险分析、实施和评价四个方面。沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本

    特点:
     风险驱动,可以在生命周期早期强制性的确定项目中存在的风险
     需要开发人员具有相当丰富的风险评估经验和专门知识
     要求用户参与阶段评价,对用户要求较高
    适用于:
     单位内部开发的大规模软件项目
     风险是项目的主要制约因素
     可能会发生重大变更
     采用新技术

    5、基于技术的开发方法(一个简答题10’)
    信息系统建模方法:
     面向过程的建模方法,也称结构化方法
     面向对象的建模方法

    1)结构化方法,也称为 面向功能/面向过程/面向数据流 的软件开发方法
    结构化分析(SA)对软件进行需求分析,以数据流图表示
    结构化设计(SD)进行总体设计,以模块结构图表示
    结构化程序设计(SP),以程序流程图表示
    结构化方法的基本思想:从系统功能出发,自顶向下,按照层次逐步分解求精

    2)面向对象的分析方法,以对象的观点来观察世界。
    它认为一个系统可以被看成一系列相互作用的对象组成,每个对象拥有自己的数据结构和行为方式,以及能触发对象的某种操作(行为)而改变其状态(数据结构)的事件。
    面向对象分析(OOA)、设计(OOD)和程序设计(OOP)最重要的模型图是对象图/类图。

    3)两者比较
     结构化方法
    容易理解和交流,对于大系统可以从全局逐步展开到局部,整体性较好。

     面向对象
    稳定可靠,有利于维护和重用,并容易实现多层分布式结构,技术先进,但对前期分析设计人员要求较高,用户理解模型有困难。

    结构化技术的特点:把现实世界描绘为数据在信息系统中的流动,在数据流的过程中数据发生转化。
    通过自定向下的程序将复杂的程序分解为程序模块的层次图,概括为自顶向下、逐步求精
    、模块化设计、结构化编码的基本特点。

    面向对象的特点:面向对象技术将数据模型和处理模型二合为一,将属性和方法封装在一个对象当中。
    将信息系统看成是一起工作来完成某项任务的相互作用的对象集合:通过定义系统中所有对象类型并显示对象之间是如何通过相互作用来完成分析任务。
    面向对象就是既使用对象有试用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。
    面向对象优点:1、稳定性好; 2、可重用性好; 3、较易开发大型软件产品; 4、可维护性好

    结构化方法就是将系统看成是过程的集合,过程与数据实体之间交互,过程接受输入并产生输出。

    面向对象方法则不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看做是相互协作而又被彼此独立的对象的集合。

    1、从概念方面看
    结构化软件是功能的集合,通过模块以及模块和模块之间的分层调用关系实现
    面向对象软件是事物对象的集合,通过对象以及对象和对象之间的通讯联系实现

    2、从构成方面看
    结构化软件是过程和数据的集合,以过程为中心;
    面向对象软件是数据和相应操作的封装,以对象为中心

    3、从运行控制方面看
    结构化软件采用顺序处理方式,由过程驱动控制
    面向对象软件采用交互式,并行处理方式,由消息驱动控制

    4、从开发方面看
    结构化方法的工作重点是设计;面向对象的房的工作重点是分析
    在结构化方法中,分析阶段和设计阶段采用了不相吻合的表达方式,需要把在分析阶段采用的具有网络特征的数据流图转换为设计极端采用的具有分层特征的软件结构图;
    在面向对象方法中,设计阶段的内容是分析阶段的细化,则不存在这一转换问题

    第5章:
    1、信息系统规划的任务
     制定信息系统发展战略
     制定信息系统总体方案
     制定信息系统开发计划
     制定信息系统资源分配

    2、可行性分析是哪几个方面和主要工作
    是指在企业当前情况下,研制这个信息系统是否有必要,是否具备必要的条件。可能性、必要性、合理性
    1) 技术可行性:根据现有的技术条件,能否达到所提出的要求;所需要的物力资源是否具备,能否得到
    2) 经济可行性:估计项目的成本和效益,分析项目经济上是否合理。要解决两个问题:资金可得性和经济合理性。
    3) 社会可行性:组织内部的改革是否能够推行(体制变化、人员精简)
    领导和员工的素质、支持度/阻力
    上级单位的认同
    政策、法规

    第6章
    1、系统分析的主要任务
    系统分析员与用户在一起充分理解用户的要求,并把双方的理解用书面文档——系统分析说明书表达出来。

    2、收集的业务信息:
    管理目标、功能、业务管理、数据流程
    企业系统规划的四个步骤(P77):
    1)定义管理目标:确定各级管理的统一目标,各个部门的目标要服从总体目标
    2)定义管理功能组:即识别企业在管理过程中的主要活动
    3)定义数据分类:四种数据类型——文档型、事物型、计划型、统计型
    4)定义信息结构:划分子系统,确定信息系统各个部门及其相关数据之间的关系,确定子系统的先后顺序

    3、业务流程图和数据流图
    1)数据流图元素符号

    外部实体:
    指系统以外又与系统有联系的人或事物。它表达了该系统数据的外部来源和去处
    外部实体是数据的来源(谁提供了最初始的数据?)
    外部实体是数据的去处(数据对谁有价值?)

    处理:
    指对数据的逻辑处理功能,也就是对数据的变换功能。
    别名:功能、处理过程,数据加工

    数据流:
    指处理功能的输入或输出(箭头表示数据流向) 。

    数据存储:
    表示某种数据保存后的逻辑统称。不是指保存数据的物理地点或物理介质。
    流入数据存储的数据流: 将处理后的数据写入或修改到数据存储中
    流出数据存储的数据流: 从数据存储中查询获取数据,不改变原来的数据

    其他图形表示:
    数据流图中的图形元素有不同的画法,本书使用Gane-Sarson画法

    2)数据流图画法看书或者ppt,考试只用话2层,不需要过度分析

    3)数据流图和业务流程图的却别
    1、描述的对象不同
    业务流程图描述某一具体的业务,数据流图描述对象是数据流
    2、功能不同
    业务流程图是一本用图形方式来反映实际业务处理过程的“流水帐”。
    数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。
    3、基本符号不同
    4、绘制过程不同
    业务流程图是用一些规定的符号及连线来表示某个具体业务处理过程
    数据流图是按照“自顶向下,逐层求精”的方法进行的

    4)DFD规范:
    1.数据守恒
    2.在一套数据流图中的任务和一个数据存储,必定有流入的数据流和流出的数据流,即写文件和读文件,缺少任何一种都意味着遗漏某些加工。
    3.父图中某一处理框的输入,输出数据流必须出现在对应的子图中,否则就会出现父图与子图的不平衡。
    4.任何一个数据流至少有一端是处理框。

    5)表达处理逻辑的工具
    1. 结构化语言
    三种基本语句:祈使语句、判断语句、循环语句
    2. 判定树
    如果一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达就比较复杂,就可以使用判定树来表示
    3. 判定表
    如果条件较多、每种条件的取值情况也较多的情况下,可以使用判定表。
    判定表的优点是可以把各种组合情况一个不漏地表示出来,还能帮助发现遗漏和矛盾的地方。
    4、适用范围
    决策树适合10~15种行动的一般复杂度的决策,有时也可把决策表转换成决策树,便于用户检查。
    判定表适合于多个条件的复杂组合。
    如果一个判断包含了一般顺序的动作或循环执行的动作,则用结构化语言。

    第7:用例建模
    1、用例的意义
    1) 用例是对系统需求(主要是功能需求)的规范化的描述。
    2) 用例图及用例的事件流描述集中体现了系统责任,
    3) 通过用例建立交互图。交互图就是用例的具体实现,即系统中的对象以及对象间协作是如何完成一个用例的全部过程。
    4) 用例驱动的开发过程,从用例模型到分析模型和设计模型之间有一致性和可追踪性。

    2、用例图的构建(具体看书或ppt)
    1)确定参与者
    参与者是系统之外与系统进行交互的任何事物,只有在执行系统功能时与信息系统进行实时交互的人员才能被当作参与者
    1.使用系统的个人
    2.系统所连接的外部硬件。
    3.与该系统进行通信的其他信息系统。
    2)确定用例
    用例就是功能性需求。
    每个用例至少和一个参与者相关,用例名称要体现参与者希望系统提供的功能。
    3)描述每个用例
    至少包括以下内容:用例名、参与者、目标、前置条件、事件流、后置条件

    双列格式:

    顺序图:
    纯文本的用例描述直观性较差
    使用UML中的顺序图可以图形化地表现出参与者和系统之间的交互

    3、用例关系
    1) 包含关系:经过封装后可以在各种不同的基本用例中复用的行为称为包含用例。
     基本用例可以控制包含用例,并依赖于(使用)包含用例所得到的结果。
     包含用例是基本用例存在的必要条件
     一个基本用例可以有多个包含用例,一个包含用例可以包含在若干基本用例中。包含关系可以嵌套,但超过三层的嵌套是难于理解的。

    2) 扩展关系:表达某些可选或只在特定条件下才执行的系统行为的用例,它们是对基本用例的扩展。称为扩展用例。
     扩展用例是可选的,它是否执行取决于在执行基本用例时所发生的事件(存在扩展点)。
     扩展用例的缺失不影响对基本用例的理解。

    3) 泛化关系(不推荐):如果两个或更多用例在行为、结构和目的方面存在共性,可以使用泛化关系。父用例描述这些共有部分,子用例继承父用例并特殊化。
     用一个新的、通常也是抽象的用例来描述多个用例的共有部分(父用例),子用例继承父用例的所有结构、行为和关系,并含有自己特殊的部分。
     父用例通常是抽象的,如果两个子用例都对同一父用例进行特殊化,则两个子用例是相互独立而且完整的,这一点与包含关系扩展关系不同。

    4)三者区别(百度的):
    1.扩展不属于依赖,是用在用例和用例之间,扩展是指扩展用例与基用例之间的关系,说明如何将扩展用例定义的行为插入基用例定义的行为序列。比如发布博客用例和暂存博客用例之间就可以是扩展关系。
    2.包含属于依赖的一种,也是用在用例和用例之间,比如写博客用例,应包含了插入图片用例。
    3.泛化是集成,用在角色和角色之间,比如管理员和系统管理员可以是泛化关系。

    第8:类图
    1、面向对象的特点与优势(参见上面的比较。基本:封装继承多态)
    2、类与类的关系(考试结合图判断关系)
    1)关联
    关联表示不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。可以使用关联表示对象了解其他对象的程度。
    要素:关联名称、对象在关联中的角色、多重性、导向性

    多重性:

    2)类的泛化
    泛化(Generalization)是在多个概念之间识别共性,定义超类(一般概念)和子类(特定概念)关系的活动。

    3)聚合
    描述整体-部分的关系,部分可能同时属于多个整体对象。
    关联路径的末端有一个空心菱形,用来表示聚集关系。

    4)组合
    组合聚集具有很强的归属关系,部分只能是一个组合对象的成员,而且部分对象的存在是依赖于整体对象,与整体同生共死。
    整体端的重数不会超过 1(即它无法被多个整体对象共享),关系建立后是不可变更。
    关联路径的末端有一个实心菱形,用来表示组合关系。

    5)依赖

    3、类图(具体看书或ppt,考试一切以业务描述为主,用名字短语来画图)
    类图(class diagram):描述了构成一类对象特征的状态和行为(描述软件架构)
    定义领域类属性的原则
    1.仅定义与系统责任和系统目标有关的属性。
    2.使用简单数据类型来定义属性。如数字、字符串、日期、布尔、文本等。还包含多种特征或规则的数据,可考虑作为独立的对象类。
    3.一般不使用可导出的属性。
    4.不为对象关联定义属性。属性只用于体现对象本身的内在性质,关联属性来实现,但那是设计阶段的问题,应推迟考虑。
    5.如毕业设计题目与教师和学生存在关联,但题目中不应定义“教师姓名”、“学号”之类的属性。

    第9:系统设计
    1、经典的三层架构
    表现层:处理用户和信息系统之间的交互。
    可以是简单的命令行窗口,也可以功能完善的图形用户界面(胖客户端程序),如基于HTML的浏览器界面(瘦客户端程序)。

    业务逻辑层:也称为领域层或应用层,是信息系统所有和领域相关的工作。
    如根据输入数据或已有数据进行计算,依赖于数据访问层获取数据或保存数据,类库形式。

    数据访问层:一般指与数据库的交互,主要责任是数据库记录的存取。

    简化的层次结构:
    表现层
    业务层+数据访问层

    甚至简化成没有分层:
    窗口程序=表现+业务逻辑+数据存储
    程序几乎不能重用

    2、模型视图控制器架构MVC
    模型: 即相关的数据,它是对象的内在属性
    视图: 是模型的外在表现形式,一个模型可以对应一个或者多个视图,视图还具有与外界 交互的功能
    控制器:是模型与视图的联系纽带,控制器提取通过视图传输进来的外部信息转化成相应事 件,然后由对应的控制器对模型进行更新; 相应的,模型的更新与修改将通过控 制器通知视图,保持视图与模型的一致性

    3、顺序图(具体看书或ppt)
    1) 从用例描述中选择主要actor和发起事件。
    2) 选择实现用例所需的基本显示屏幕,即边界对象。
    3) 选择一个用例控制者(基本控制对象)来处理边界对象和领域对象之间的通信,从而实现模型-视图分离
    4) 选择出所有参与到用例中的领域类(实体对象)。
    5) 以上过程可以动态创建所需要的类
    6) 若用例涉及到任何的包含或扩展用例,则可根据需要为它们创建次级控制对象。
    7) 确定实现用例所需的窗口数目,可根据需要为每个主要窗口创建一个次级边界对象。
    8) 在顺序图中按如下次序列出这些对象: 边界类对象、用例控制者、实体对象(以访问次序列出) ,以及按访问次序为准的次级控制对象和次级边界对象。
    9) 根据如下类别来识别所有解决问题的操作:
    实例创建和析构
    关联形成
    属性修改:计算、改变状态、显示或报表需求
    与外部对象或系统的接口
    10) 尽可能地根据任何已经存在的设计模式,来重新排列对象类之间消息的序列。
    11) 命名每个消息并为其提供可选参数。
    举例:
    一个用户登录的用例:
    系统中有多个用户
    每个用户属于一个用户组
    每个用户组有不同的授权
    权限有多种,如数据查询、数据添加、数据删除、数据修改等

    登录用例:
    界面对象接受输入的用户名和密码
    用例控制对象根据用户名和密码进行权限验证
    用户对象确认用户是合法用户
    通过用户的用户组对象获得有关权限
    界面对象显示登录成功/不成功结果

    分析阶段顺序图

    设计阶段顺序图

    第10:系统测试(了解)
    目前,检验软件有三种手段:动态检查、静态检查和正确性证明。

     程序正确性证明技术目前还处于初级阶段,
     静态检查指人工评审软件文档或程序,发现其中的错误(代码审查、代码走查、同行评审)。
     动态检查就是测试。测试是为了发现错误而执行程序的过程。测试只能证明程序有错误,而不可能证明程序没有错误。

    测试技术:
    1、黑箱测试/黑盒测试
    这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序模块的详细说明,检查程序的功能是否符合它的功能说明。
    黑盒测试又叫做功能测试或数据驱动测试

    2、白箱测试/白盒测试
    此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑结构进行测试。
    通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

    展开全文
  • 系统分析与设计课程项目总结

    千次阅读 2015-06-17 22:49:33
    通过本次项目,初步了解了系统分析与设计的方法,深化了软件开发过程的理解。 分析与设计实际上是对项目的一个解决方案,而编码是对其的具体实现,在这次的项目中,我们针对客户的需求,采用迭代、循序渐进的方法...

      通过本次项目,初步了解了系统分析与设计的方法,深化了软件开发过程的理解。
    分析与设计实际上是对项目的一个解决方案,而编码是对其的具体实现,在这次的项目中,我们针对客户的需求,采用迭代、循序渐进的方法进行软件开发。这样的敏捷开发,使得整个项目的难度不会太过繁杂,而且针对性强,易于开发和调试,而且也易于适应后期项目的变化。我们把整个项目分成几个小的部分,逐个开发测试,最终整合到了一起。在分析与设计的时候把工作主要分为了前端界面设计、后台服务器搭建、建立数据库、以及优化等几个方面。 
    当初决定选教师评价这个方面,主要是考虑到学校的教师评价只能到学期末才进行,失去了实时性。开始时的需求分析主要是为了解决教师评价的实时性问题,提供一个同学们关于课程和老师的互动平台。分析时也结合了我们的技术水平,觉得这个项目是我们力所能及的。分析完需求和目标人群后,我们开始设计整个项目。由于涉及了多个对象(学生,老师,课程,学校等),所以设计时的主要目标是围绕着这些对象之间的关系。通过领域模型,系统顺序图等图标,理清了对象间的关系,数据库的设计也进而出来了。在分析与设计的过程中,关注的是方法与概念,目的是将现实的问题抽象成为软件需求的案例,数据则抽象成为一个结构,从而简化分析过程。分析与设计,更加接近现实,在情景案例的分析中,找出需求与重要的情景,从而为设计提供参考,而在设计过程中,必须考虑可行性,有效性以及成本,时间等因素。
    编码阶段可以说是最繁琐的一个阶段了。编码注重现实情况,更加注重数据以及逻辑的正确性。编程的问题,是在分析与设计的基础之上,对软件需求,按照设计的方式,逐步用程序实现,即将现实问题转化成为计算机能够理解的逻辑语言。虽然说在设计阶段就理清了对象间的关系,再套上MVC模型,本应该很容易进行代码的编写的。实际上却刚好相反。由于我们使用的PHP来进行编码,这是一门我们都不熟悉的语言,里面有很多语法我们都不熟悉,所以使得整个编码过程略为艰难,几乎是边看PHP文档边编码的。
    由此可见,分析主要是分析了需求,而设计则是在概念上设计出整个项目的总体结构。即使有了上面两样,编码的过程依然非常艰难,因为你可能会面到很多技术难题,而这些都是在分析和设计阶段都没有预见到的。

    在正式编码前,我们对整个项目进行了详细的规划。但是,由于我们采用的ThinkPHP这个框架,大家对这个框架都不熟悉,所以实际上并没有完全按照计划进行。同时,在分工的时候,明确地将前台和后台分给了不同的人员来进行开发,却没有定义好前后台间交互的API,导致前台的页面和后台的控制逻辑并不能很好地契合起来,只能通过不断修改代码来磨合。
    由于开始时我们对领域模型等图没有充分的重视,导致到了后面发现当初设计的模型和数据库已经不能满足开发需求了,只能不断修改数据库和添加对象。由此可见,开发早期领域模型的设计是非常重要的。有了一个正确的领域模型,我们就可以完全照着它来进行开发,而不用边开发边改需求和数据库,这会极大加快开发进度。同时,合理的分工也是非常重要的。对于某一部分内容,最好由多个人负责;这样当其中某一个人出现什么状况而停止开发时,对整个项目的开发进度也不会产生很大的影响。 
    在项目计划中,本小组进行了非常详细的安排,并且画出了甘特图,从而为计划的实现提供了参考。但在执行的过程中,发现计划仍然出现一些没有预料到的问题。比如计划只是单线的流水作业,没有注重软件开发的并行性,因此拖长了软件开发的时间。在计划中,仍然只是注重个人的项目负责情况,没有注意到这需要团队的努力,结果项目交接的时候出现了沟通的问题,项目部分接口存在误解情况。再而,在项目计划中,留给软件测试的时间还是略短,尽管全队人员都采取了测试驱动开发的模式,降低了测试压力,但是还是出现了一些bug,最后才得以修正。因此,项目计划必须注重并行性,团队性,效率以及各阶段时间划分的合理性。
    采取了RUP4+1以及MVC模式后,软件耦合性不仅大大降低,也为全队分配任务提供了依据。各个组员都能够按照设计模式不同层级的要求,实现全队分配的任务。在进行缓存优化的时候,设计模式给予了很大的帮助,通过设计模式,我们很快地找到了原来软件的接口,进而将缓存优化嵌入到原来的软件开发之中。因此,系统分析与设计,为软件扩展提供了很好的依据,设计模式,确实能够加快软件开发过程。
    总之,通过这次项目,我理解到了软件开发不能够一个人进行工作,必须依托团队了力量,才能够开发出质量高,稳定性好的软件,这也体现了软件分析与设计在软件开发过程中上层的位置。

    展开全文
  • 面向对象系统分析与设计

    千次阅读 2018-11-03 21:12:51
    面向对象系统分析与设计OOA概述1. 分析与设计什么是分析什么是设计总结2. 面向对象功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接图片如何插入一段漂亮的代码片生成一个适合你的列表创建...
  • 系统分析与设计期末复习题目

    千次阅读 2018-12-12 20:38:39
    系统分析与设计 P1-P2:系统开发生命周期和4个基本阶段 SDLC是指这样一个过程,包括:理解信息系统、对业务的支持、设计系统、构建系统、以及把系统移交给用户。SDLC有相似的4个基本阶段:计划,分析,设计和实现...
  • 《UML系统分析与设计》习题答案

    千次阅读 2020-04-14 22:00:50
    ## 《UML系统分析与设计》复习参考答案 第1章 面向对象技术概述 1-1. B 1-2. A 1-3. A 1-4. B 1-6.√1-7. √ 1-5. B (提示:虽然fl和f2都是同一个类的成员函数,但fl不能调用f2,如果都是普通成员函数,那么肯定...
  • 信息系统分析与设计相关

    千次阅读 2018-06-11 19:24:00
    信息系统存在并分布于组织系统之中,企业过程紧密交织在一起,组织活动中的各种 ++信息流++ 出入于信息系统,通过信息系统对组织信息的 ++加工++, ++处理++,为组织目标所用 根据系统资源的 ++空间分布情况++,将信息...
  •  结构化分析与设计方法是一种面向数据流的需求分析设计方法,它适用于分析设计大型数据处理系统,是一种简单、实用的方法,曾获得广泛的应用。 1 结构化分析   结构化分析方法的基本思想是自顶向下逐层...
  • 系统分析与设计方法---需求分析软件设计

    万次阅读 多人点赞 2018-09-14 20:22:35
    需求分析是软件生命周期中相当重要的一个阶段。根据 Standish Group 对 23000 个项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有约 26%的项目获得成功。需求分析工作在...
  • 系统分析与设计知识点总结

    千次阅读 多人点赞 2016-06-19 14:06:07
    系统开发与分析复习资料——大连理工大学
  • 系统分析与设计方法---面向对象的分析与设计

    万次阅读 多人点赞 2018-09-14 20:26:32
    面向对象的分析与设计  面向对象方法是一种非常实用的软件开发方法,它一出现就受到软件技术人员的青睐,现已成为计算机科学研究的一个重要领域,并逐渐成为软件开发的一种主要方法。面向对象方法以客观世界中的...
  • 系统分析与设计-敏捷迭代方法之学习笔记 这学期我们学了《系统分析与设计-敏捷迭代方法》,算是对软件工程的知识有所了解。本文可以当作这本书的导论,有兴趣的同学推荐购买原版书籍学习。 本文也可作为西安交大...
  • 如何进行系统分析与设计

    万次阅读 2018-08-01 18:06:00
    作者 | 章烨明杏仁医生CTO。中老年程序员,关注各种技术和团队管理。概述首先,系统是什么?根据《系统架构》一书的定义,系统是由一组实体和这些实体之间的关系所构成的集合,...
  • 系统分析与设计:笔记整理

    万次阅读 多人点赞 2018-06-24 23:02:38
    信息系统的五个组成部分:硬件、软件、规程(processes)、数据、人SDLC(SystemDevelopment Life Cycle 系统开发生命周期)包括:计划、分析设计、实施、运维。2.Prototyping(原型法)、CASE Tools(Computer-...
  • 论述如何用UML进行系统分析与设计建模  UML 是可视化(Visualizing)、规范定义(Specifying)、构造(Constructing)和文档化(Documenting)的建模语言。可视化模型的建立为设计人员、开发人员、用户和领域专家...
  • 信息系统分析与设计(自考)

    千次阅读 2020-04-12 17:11:36
    是指在经济或社会的组织中,以满足管理者的信息需求为目标、以计算机和现代通信技术 等现代信息技术为手段,既包括设备和技术,又包括人员机构在内的综合系统。 2、CASE: 就是一类专门用来帮助人们建设信息...
  • 系统分析与设计:功能建模

    千次阅读 2018-05-13 22:53:36
    建模练习:选题:美团外卖用户点餐业务用例图:活动图:领域模型:状态图:系统顺序图操作协议:
  • 顺序图阐述了直接与系统交互的外部参与者以及参与者发起的系统事件。在系统顺序图中,我们把所有的系统都看作黑盒,不关心其内部实现,只关心从参与者到系统的那些跨越系统边界的事件。系统顺序图用例的关系系统...
  • 系统分析与设计(个人总结)

    千次阅读 2018-06-30 22:50:36
    因为是第一次完成一个独立的有完整前后端的系统,所以最开始跟队友们的沟通不是很完善,比如后端的实现前端的需求不能保持一致,这导致在最开始测试前端功能时数据获取、存储、更改方式最终实现的都有很大的不同...
  •  软件构件间接口的设计与架构的设计紧密相关,而设计模块和外部实体的接口则与详细设计相关,人机界面接口是相当容易被忽视的环节,在此就对其重点内容进行一个概要性描述。 1 用户界面设计的原则  用户界...
  • 基于UML的信息系统分析与设计

    千次阅读 2003-01-22 09:48:00
    基于UML的信息系统分析与设计刘 明摘 要: 此文以图书馆信息系统为例,探讨了利用统一建模语言进行面向对象的分析、设计和实现等问题。首先阐述了面向对象的基本思想,概要地介绍了UML的语法语义机制及其优点。UML...
  • 系统分析与设计——系统顺序图

    千次阅读 2014-06-19 02:16:53
    系统顺序图(SSD)是为阐述所讨论系统相关的输入和输出事件而快速、简单地创建的制品。系统顺序图,表示的是,对于用例的一个特定场景,外部参与者产生的事件,其顺序和系统之内的事件。所有系统被视为黑盒,系统...
  • 第一章、系统思想了解系统的定义 p1掌握系统的特性:7点特性、内涵 *整体性目的性自组织性稳定性相似性突变性层次性理解系统工程方法 6 个方面、霍尔三维结构每方面 7 点问题定义目标选择系统综合系统分析最优系统...
  • 系统分析与设计之用例图

    千次阅读 2012-07-26 10:57:21
     需求分析系统设计和开发的基础,需求分析的好坏会直接影响后继设计和开发的质量,严重时会影响到系统的成败。UML中的用例图就是为了方便我们分析与交流产品需求而生,同时也为我们把产品需求转化为系统需求提供...
  • 系统分析与设计——状态图画法

    万次阅读 2014-06-17 13:08:39
    一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在描述状态图的控制流。 如下图例子,状态机描述了门对象的生存期间的状态序列,引起转移的事件,以及因状态...
  • 系统分析与设计——领域模型画法

    万次阅读 2014-06-19 01:01:19
    因为大多是从需求文档中分析概念类,所以最常用的概念类分析方法就是名词分析法,这个在之前的博文中已经做了简单说明。在之前我们说,名词分析的方法就是查找用需求里名词,然后排出UI和System相关的名词,比如DB、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,235,176
精华内容 494,070
关键字:

系统分析与设计