1. 软件工程里面系统分析和系统需求分析有区别吗
看看这个吧 希望能对你有帮助“普及计算”时代:嵌入式系统重新划分计算机类别 由于事物的发展性,对事物的定义是很难放之四海而皆准的,尤其对于计算机领域而言,这种现象更加明显。以前我们把计算机按其体系结构、运算速度和结构规模等因素分为大、中、小型机和微机,并以此来组织学科和产业分工,后来随着微机处理速度的迅速提高,使得这种划分界限大大模糊化。而嵌入式计算机系统在当前及未来的大量应用,无疑会使得这一幕重新上演。 计算技术在各行各业的广泛渗透,使得嵌入式计算机在应用数量上将远远超过传统意义上的计算机,它可以应用于制造业、通讯、仪表、汽车、军事、航空航天和消费类电子产品等广阔领域。许多学者主张以应用为中心把计算机划分为两类:通用计算机(典型的如PC)和嵌入式系统。因为科技发展的动力在某种程度上总是欲使人类自身更为舒适,所以未来必定是一个“普及计算”(Pervasive Computing)的时代,在诸如家庭网络(Home Network)、汽车网络(Automobile Network)、移动电子商务(Mobile e-business)以及Financial Service Everywhere等普及计算的重要内容中,嵌入式系统都将是核心的组成部分之一。 在嵌入式系统中,软件与硬件是紧密集成在一起的。它和通用计算机有着本质的区别,由于它基于具体应用,所以在各种不同嵌入式系统之间,很难找到共通的特性。嵌入式系统的分析和设计无法延用传统方法。本专题围绕“嵌入式系统开发技术”这个核心,组织了以下四篇文章: 1. 实时系统软件分析和设计方法综述 2. 嵌入式系统软件的面向对象开发技术 3. 实时操作系统任务间通信的设计与分析 4. 嵌入式计算机系统的设计技术 本专题分两次刊出,本期刊出前两篇文章. 实时系统简介 实时系统在工业、商业和军事等领域都有非常广泛的用途,并且已经有很多实际的应用。一般来说,实时系统通常是比较复杂的,因为它必须处理很多并发事件的输入数据流,这些事件的到来次序和几率通常是不可预测的,而且还要求系统必须在事先设定好的时限内做出相应的响应。 那么,是不是响应时间在多少毫秒或多少微秒以内的系统就是实时系统,而超出这个时限的就不算呢?事实上,实时系统并非是指“快速”的系统,实时系统有限定的响应时间,从而使系统具有可预测性。实时系统又可以分为“硬实时系统”和“软实时系统”。二者的区别在于:前者如果在不满足响应时限、响应不及时或反应过早的情况下都会导致灾难性的后果;而后者则在不满足响应时限时,系统性能退化,但并不会导致灾难性的后果。 实时系统具有以下一些特点,从而区分于其他系统: 嵌入式系统 实时系统通常是嵌入式的系统,也就是由封装好的软件系统控制与其相关的硬件。 与外部环境交互 实时系统通常需要与外部环境进行交互,例如,可以控制机器及生产过程,或者监控化学反应并随时汇报危急情况,这种情况通常需要从外部接收数据并提供输出和控制外部环境。 时限 实时控制 实时系统经常包括实时控制,从接收到的输入数据中做出控制决策。 “反应”系统 很多实时系统都是“反应”的系统,也就是说,由事件驱动并且必须对外界事件进行响应。 并发处理 绝大多数实时系统的一个重要特点是并发处理,通常,事件发生的顺序是不可预测的。 一些重要概念与一般的系统设计一样,实时系统软件也包括一些和一般系统相同的分析和设计概念,在这里不再讨论。下面列出几点对于实时系统设计有特别重要意义的概念: 有限状态机(FSM) 很多实时系统,特别是实时控制系统,其整个分析机制与系统的状态有相当大的关系。有限状态机由有限的状态和相互之间的转移构成,在任何时候只能处于给定数目的状态中的一个。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移。主要有两种方法来建立有限状态机,一种是“状态转移图”,另一种是“状态转移表”,分别用图形方式和表格方式建立有限状态机。实时系统经常会应用于比较大型的系统中,这时采用图形或表格方式对理解复杂的系统具有很大的帮助。 并发任务 实时系统通常都会有很多事件同时产生。一个任务描述一个事件,整个系统的并发机制是通过让很多任务并行运行而实现的。一个强调并发任务的系统设计通常都会显得更加清楚并且易于理解。 信息隐藏 信息隐藏是一个与各种系统设计都有关的设计概念,原则是每个模块应该隐藏可能会做改变的设计结果。采用信息隐藏的原因是使模块可供修改,易于理解,因此也便于维护。 实时系统分析和设计的常用方法 首先要区分两个不同的概念:系统分析和系统设计。系统分析指的是由用户提供的,说明软件系统应该做什么以及需要在什么环境下运行等情况的方案;系统设计则是指那些由系统分析员或设计者提供的描述软件系统如何实现这些需求的方案。在实时系统的设计中,系统的瞬时表现是最难描述的,但同时也是最重要的因素。 以下具体地介绍实时系统设计的常用方法。 语言描述及数学分析 在系统分析和设计中,语言描述是不可缺少的,但其功能也只是对其他方法提供的分析和设计进行补充。在系统分析中,也可以采用数学分析来描述对系统功能的需求。数学分析是一种精确而有效的方法,对系统性能的优化可以通过优化相应的数学模型而获得,但在大系统中,其作用相对受限。 流程图 流程图也许是最早出现的软件系统模型,而且也有着很广泛的应用,因此,简单的系统可以采用流程图来进行建模。流程图适合指令不超过5000到10000条的系统。在多任务的系统中,流程图可用来对各个任务进行分别描述,但是进程之间的交互就不太容易描述,同时也无法描述其瞬时的表现。 结构图 结构图是一种广泛采用的、用以描述系统模块结构的方法。结构图从左到右代表了执行的顺序,从上到下代表了程序模块的细节化。结构图可以在相当多的计算机科学的文献以及其他描述系统的文章中见到。 伪代码和编程设计语言(PDL) 编程设计语言与伪代码只有细小的差别。编程设计语言是一种与系统运行的底层硬件环境相分离开来的抽象语言,它以一种类似于真正的编写代码的方式来说明系统。ADA就是一个成功应用编程设计语言的例子。 使用编程设计语言或伪代码的好处是,它们比直接应用语言来描述系统需求更抽象,而同时比前述所有方法都更接近实际的编程语言。 有限状态机 有限状态机是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计的所有阶段。有限状态机的组成如下: (1) 一个有限的状态集合Q (2) 一个有限的输入集合I (3) 一个变迁函数δ:Q×I→Q 变迁函数也是一个状态函数,在某一状态下,给定输入后,FSM转入该函数产生的新状态。δ的定义域内的某些数值可以是未定义的。 有限状态机通常用图的方式来表示,其节点代表状态。若在输入i下状态由q1转变为状态q2,则有一条标有输入i的弧线从状态q1指向q2。此时,其变迁函数δ(q1,i)=q2。图1示意了一个简单的有限状态机。
图1 简单有限状态机 图1中的左图表明该FSM有q0、q1、q2、q3四个状态,输入集中有a、b、c三个元素;右图中各个状态之间的转换关系则更清晰。有限状态机非常适合于描述这样的系统:系统含有有限个状态,不同事件的发生可以用不同状态之间的转换来模拟。 总的来说,有限状态机的优点在于简单易用,状态间的关系能够直观看到。但应用在实时系统中时,其最大的缺点是:任何时刻系统只能有一个状态,无法表示并发性,不能描述异步并发的系统。另外,在系统部件较多时,状态数随之增加,导致复杂性显著增长。为了消除这些缺点,一些新的方法应运而生。下面介绍的Petri网就是其中一种,与FSM相比,它具有更强的建模能力,并能描述系统的并发、异步、同步等特性。 Petri网 Petri网是一种使用图形方式对系统进行需求规格说明的技术,用来定义多进程、多任务系统的数学模型,易于描述系统的并发、竞争、同步等特征,并可用于评价和改进系统。如今,Petri网已经大量应用于各种系统的模型化。与FSM相比,Petri网不仅能描述同步模型,更适合于相互独立、协同操作的处理系统。 Petri网的组成成分包括: (1)一个有限的库所(place)集合,表示系统的状态。 (2)一个有限的变迁(transition)集合,表示系统中的事件。 (3)一个有限的连接库所到变迁或者反向的有向箭头的集合,又分输入和输出。 图2为一Petri网示例,图中的库所用圆圈表示,变迁由矩形表示。 Petri网有如下特性: (1)状态 通过标记Petri网的库所来给出其状态,标记Petri网的库所在图形中表现为对库所插入数目不同的令牌。 (2)状态变化规则 一个变迁可以有多个输入或输出库所,如果一条有向箭头是从库所到变迁,则该库所是该变迁的一个输入库所,反之则为输出库所。如果一个变迁中每一个输入库所都至少有一个令牌,则称该变迁是一个使能变迁。 (3)点燃 一个使能变迁可以被点燃,即从该变迁的每一个输入库所中移走一个令牌,在该变迁的每一个输出库所中增加一个令牌。 图2 Petri网示例
2. <<软件工程>>里的一个简单小的管理软件的需求分析怎么做啊...求教..最好有例子,,,,要简单点的
一个基于工作流管理系统的需求分析案例
1. 概念
工作流(workflow)是为提高工作效率而提出的,目前尚无统一、明确的定义。工作流管理联盟(Workflow Management Coalition)将工作流定义为:业务流程的全部或部分自动化,在此过程中,文档、信息或任务按照一定的过程规则流转,实现组织成员间的协调工作以达到业务的整体目标。
2. 与工作流相关的基本概念及其联系
业务流程(Business Process): 在功能确定的组织结构中,能够实现业务目标和策略的相互连接的过程和活动集。例如,投保过程、项目开发过程等。
过程定义(Process Definition): 业务流程的形式化描述,用来支持系统建模和运行过程的自动化。过程可分解为一系列子过程和活动,其定义主要包括描述过程起始、终止的活动关系网络以及一些关于个体行为的信息,如组织成员、与IT相关的应用和数据等。
活动(Activity): 活动是过程执行中可被工作机调度的最小工作单元,要求有人或机器的参与。
工作流管理系统(Workflow Management System,WFMS): 一种能定义、创建和管理工作流执行的系统。它可通过单个或多个工作机运行,并能存储和解释过程定义。
过程/活动实例(Process/Activity Instances): 实际运行中的一个过程或活动。每个实例代表一个能独立控制执行、具有内部状态的线程,可被外界通过标识进行存取。
3 工作流理论与应用结合
(1)需求问题
开发党务工作流管理系统,实现党务各类工作流的定义、流程管理、任务的分配、追踪、相关文档的记录和查询。
(2)工作流功能描述
1. 基本(逐步至完全)支持 Browser;具有成熟的工作流程模块及完整的协同服务功能;工作流的定义和配置可视化,简单、方便;
2. 有简单、复杂流程所需的模块,可重复使用业务表单;图形化的流程定制工具;可视化、图形化的流程开发界面;能清楚指定企业流程逻辑、参与人员及其角色,以及相关信息内容--无须编写任何复杂的应用程序;每个工作流程步骤皆可以独立的图形代表,直接点取即可修改,方便简单;
3. 以"规则与角色"为基础;工作流程内容与程序逻辑完全独立;用户根据实际工作情况可方便定义新的工作流及修改老的工作流;开发新的应用程序或变更现有应用程序时可重复使用现有的工作流程模块;工作流程处理程序标准化,如文件呈送及授权签名等,新的应用程序不用重新编写;具备角色控制功能,有效地定义参与人员在工作流程中的角色、执行的任务与访问权限;自动生成树状的组织管理架构;
4. 严谨的任务控制流程,包括代办人管理,可自动替换工作流程的审批人;先进的时间控制管理,包括期限控制、自动提醒、催办、同时多人并行审批等;
5. 运用工作流程推动企业知识管理:工作流程可作为知识管理的神经中枢;使用该系统可确保有权限的人在既定的规则与程序下,自动与正确地做信息交互;
6. 系统适合企业的发展及重组,企业的业务流程并不是一成不变的,相反,会随着业务的发展不断进行优化;
7. 通过独特的工作流引擎,能够直接访问各种数据库或调用业务逻辑组件,完成对业务数据库中数据的控制;
8. 支持多种操作系统平台,方便平滑地迁移;
9. 符合国际工作流管理联盟(Workflow Management Coalition,WfMC)制定的规范3。
(3)客户收益
1. 工作流易于定义和改变――应用程序独立于模型;
2. 可以模拟改变模型后的效果;
3. 以商业规则定义工作流,通过职务定义人员;
4. 规则是强迫执行的――确保企业级范围的一致性;
5. 新旧应用程序作为商业流程的各部分被集成起来。
(4)我们特色
针对党务等政府组织部门量身订做的工作流管理系统。
(5)设计思路范例:用户操作模块以工作流思路来设计
系统中的基本角色,是直接的任务分派对象,他或她可以直接看到计算机针对自己列出的“任务清单”,跟踪每一项任务的状态,或继续一项任务,而不必从一个模块退出,进入另一个模块,搜索相应任务的线索。前者是面向功能或对象的,而后者是直接面向用户的。这样,用户的任务分派和任务的完成状态,可以被最大程度地数字化和受到控制。
3. 餐饮点餐管理系统应用中的问题及需求
提供记次就餐、订餐、按班次就餐管理功能;
可进行就餐时间、参数以及就餐班次的灵活设置,可根据具体实际情况进行变更;
可统计、生成就餐打卡表、部门及个人的日、月就餐统计报表、超餐统计表等管理项目,为薪资计算提供依据;
实现异常数据查询功能、实时就餐功能和报警功能。科艺嘉提供技术支持。科艺嘉专注研发通用灵活,经验实用,适合中国的人力资源管理软件平台。产品包含有KYJHR V10人力资源管理系统,KYJiHR V16 eHR人力资源管理软件,人事考勤软件,KYJHR V8人事考勤工资软件,人事考勤就餐工资管理软件,人事工资软件,培训管理软件,绩效考核管理软件,门禁管理软件,消费管理软件,一卡通系统,OA系统。