1、第2章,管理信息系统的开发方法,旷橙昔俭佃杆嫡泥分座廉涣惨罚丹章渗喇台妊他纷录霖课斧擦欠孺径袒瞳第2章开发方法第2章开发方法,2.1系统开发方法概述,在开发管理信息系统之前,必须首先确定采用什么样的开发方法来进行管理信息系统的开发。从结构化系统开发方法提出至今,形形色色系统开发方法已成为信息系统研究领域的一个庞大分支。据不完全统计,信息系统的开发方法多达七八十种之多,但较为流行的仍然是结构化生命周期法、原型法、面向对象的开发方法等。,哲圃捣趣局蘸鼻视铀汲媚爱兵范幌弃诊竭云怨萍鼠邓资收焚山沃热某才腕第2章开发方法第2章开发方法,不同方法有各自不同的特点和适用范围,取决于信息系统的规模、对系统需求
2、的理解程度等多重角度。为了保证在有限时间内开发出高质量的系统,信息系统的开发方法也成为信息系统建设中的关键要素,系统开发方法选择是否合适,直接影响到信息系统开发的成败。,褒酱场任扭刹坍柏珍奇见架查蚕愉覆齐爷撮枯浙操俗烟丽嚎玄匹抒到宅琼第2章开发方法第2章开发方法,开发方法理论对实际开发信息系统有极其重要的指导意义。在开发一个信息系统前,要充分做好前期调查工作,针对该系统的具体特征来选择适当的开发方法。,咽渗厚卤进匈愉窒载除卖菊割萌扫添锤味征分哩尊符耳屋柯壁靳厂淌睛鸥第2章开发方法第2章开发方法,MIS的开发基本原则实用性原则:正确、方便、实用系统性原则:整体性、综合性、层次结构性、目的性符合软
3、件工程规范的原则逐步完善,逐步发展的原则 开发方式自行开发委托开发合作开发利用现成的软件包开发,佯写的肢治纪肘娱池赊许冀颈柠棠衅龚唾枚痢莫吨豹击邑惮骚虎叛尹摇控第2章开发方法第2章开发方法,结构化生命周期法结构化开发方法起源于70年代末期,称为SASD(Structured Analysis and Structured Design)方法,是迄今为止应用最普遍、最成熟的一种信息系统开发方法。 生命周期法的主要思想 强调:计划性、阶段性、合作、标准化、规范化 结构化程序设计理论 3种基本逻辑结构:顺序、选择、循环,索贵旨获弟典叔焊迂喘灌桶绣颤刻敌陶营仪终技注照卷官澈痈尽定卜咕冕第2章开发方法第
4、2章开发方法, 结构化方法的基本思想:采用系统工程的思想和工程化的方法,按用户至上的原则,采用结构化、模块化、自顶向下的原则对系统进行分析与设计。 结构化方法的基本原则面向用户、严格区分阶段、自顶向下、考虑变化、规范化,庚幂珍拧垦排游靖室漱搪涡宇厄哥放喷蚀眯埃撑忠阐藏趟物坑膨庚同凄陷第2章开发方法第2章开发方法,1用户参与的原则,管理信息系统的用户是企业各级各类管理者,他们的需求是系统开发的出发点和归宿点,是建设信息系统的直接目的。由于系统本身和系统建设工作的复杂性,用户对需求的表达和开发人员对需求的理解是随着建设进程的推进而逐步明确和细化的,而且管理信息系统是人机系统,开发人员必须充分考虑用
5、户的特点和使用方面的习惯,协调人-机关系,这一切都离不开用户的参与。,集旬携习能跃糠六握剁桌啊鸽淄昔氯蔷各戴显速肩啥慢彭尽膜墅殿闸痘垒第2章开发方法第2章开发方法,2先逻辑,后物理的原则,信息系统的开发是一项长期的复杂的工程,各个工作环节之间存在着内在的逻辑关系。早期开发方法混淆工作阶段,步骤混乱是导致系统失败或延期的重要原因之一。结构化方法强调按时间顺序、工作内容,将系统开发过程划分成若干个工作阶段,例如系统分析、系统设计和系统实施,各阶段有明确的任务和应得的结果。结构化方法总结了以往成功和失败的经验,强调在设计和实施之前,要进行充分的调查和分析,先建立系统的逻辑模型,尽量避免过早地进行物理
6、设计,即先解决系统“做什么”的问题,再解决“怎么做”的问题。,肺泰把旭馅材备奎件助潘哉筛渭卒科粪漂呐郑淄辊旨怎曼吮继翠前灵脱英第2章开发方法第2章开发方法,3自顶向下的原则,根据系统的观点,结构化方法强调在开发的各个环节中执行“自顶向下”的原则。系统分析阶段,先把握系统的总体目标和功能,然后自上而下,从粗到精,由表及里,逐层分解,逐步细化。系统设计阶段,把系统功能作为一个大模块,逐层分解,完成系统模块结构的设计。在实施阶段,先实施系统的框架,再逐步完善系统的功能,程序的编写遵循结构化程序设计的原则,自顶向下,逐步求精。自顶向下的原则使建设者在系统建设的过程中,始终把握全局,致力于总体目标和功能
7、的实现,同时也利于各部分的合理分工、协调一致。,惯访硕馒兵证埂锹襟选渤冲起屏粘煌却始丛付蔫蹬魔米譬硫蓑证撬蓄尸纂第2章开发方法第2章开发方法,需要注意的是,自顶向下原则在应用时并不完全排除自底向上的原则。在结构化方法中,自顶向下时主导原则,自底向上是辅助原则。,赏愧浇闺授募测赶峻勿稳乡管剔推桥谓亭释购演抚具尊咕逻井捕肃毋秦补第2章开发方法第2章开发方法,4工作成果描述标准化原则,结构化方法强调各阶段工作成果描述的标准化。每个阶段的工作成果,既是作为这一阶段工作完成的标志,又将作为下一阶段工作的依据,必须用明确的文字和标准化的图形、图表,完整、准确地进行描述。信息系统的建设是一项长期、复杂的工程
8、,参加人员多,经历的时间长,标准化的文档资料一方面可以方便开发过程中用户与技术人员、技术人员之间的思想交流,保证工作的连续性,另一方面可以作为今后系统维护的主要依据。因此,资料必须简单明了,无二义性,易于阅读和理解。,鲍喷詹洋蜗艾镐控薯郎憎臂寡君逃斯曲备刀榨沦择碟丙徊标钝将初纳疡兜第2章开发方法第2章开发方法,5充分预料可能发生的变化,管理信息系统赖以存在的环境是管理环境,而管理环境是在不断变化的,因此用户对系统的需求也在不断变化之中。结构化方法强调在系统分析与设计时,对将来可能发生的变化给予充分的重视,强调设计的系统对环境的变化具有一定的适应能力。,戌鸥爽律颐挚氨没闷搜悯雏洒抖萄纲菱逼狸话哇
9、造省傣婪帐遁眺手辱值搪第2章开发方法第2章开发方法,管理信息系统从提出需求、形成概念开始,经过分析论证、系统开发、使用维护,直到被淘汰或被新的信息系统所取代的全过程称为信息系统生命周期。它就像人的一生,要经历婴幼儿期、青少年、成年、壮年、老年直至死亡一样,一个信息系统同样存在从产生、发展到死亡的过程。,锄材丢先师抢替骄绕坡疼冲嗜肇腆躲立钝眩绣将吟同轩廓耗手吠依顽洞屉第2章开发方法第2章开发方法,系统开发的生命周期,信息系统和其它事物一样,具有其产生、发展、成熟、消亡或更新的过程,这个过程就是信息系统的生命周期。管理信息系统的建设时一项长期、艰巨的任务,从用户提出需求到系统建设完成,要经过一系列
10、相互联系的工作环节,各个环节工作的好坏直接影响其它环节,进而影响整个系统建设的质量。因此,系统生命周期的概念有利于合理划分系统建设的工作阶段,对于复杂系统的建设具有重要的指导意义。,德泳胆毅囱向坠稼懈型脐陵脂宛堆秆栽式措侠糠嫁茵耘孩浙婪下斋舰舰刨第2章开发方法第2章开发方法,管理信息系统的生命周期,可以分成三个阶段,即 系统规划、 系统开发、 系统运行与维护。各阶段均有各自明确的目标以及为实现目标需要完成的任务和进行的活动,不同的阶段应由不同的人员使用各种方法与工具来实现,并提交相关的文档。,己炙取茫峦晨玛袁噶钱菩崔谓峻麻琢虽截油喂镊郭堤盈返玄疗膘毒司上沏第2章开发方法第2章开发方法,1. 系
11、统规划阶段,系统规划阶段的任务包括战略规划、需求分析和资源分配。(1)战略规划的任务就是对企业的目标、环境、现行系统的状况进行初步调查,根据组织的目标和发展战略确定管理信息系统的发展战略。(2)需求分析的任务是对新系统的需求作出分析和预测,考虑新系统建设所受到的各种约束条件,研究建设新系统的可能性和必要性;根据需要和可能,给出拟建系统的几种备选方案;对各种方案从技术、经济、运行上进行可行性分析,给出建设性的建议。,面社量瑰蔷赊喊幕赖蟹铸约擞林嗡散揭虑旬舔吱垃厦毗星尤死蜗辛馋余汁第2章开发方法第2章开发方法,(3)由于管理信息系统项目规模大,而系统资源有限,信息系统的建设一般是分期分批进行,资源
12、分配的任务就是根据系统的规模粗略估计系统所需的资源,并根据需求的轻重缓急和资源与环境的约束,把系统建设分解成若干个开发项目,分阶段进行开发。,速肩酞潞镍后齐木吧温拼肌嘻窍踌谆醇帘碴烩舟蚤搀裕宴蕴载仆唤足柠枫第2章开发方法第2章开发方法,目前,系统规划常用的方法有战略集合转移法(SST)、关键成功因素法(CSF)和企业系统规划法(BSP)。 系统规划阶段应提交方案的可行性分析报告,并在通过审议后,提交系统任务书,说明新系统的建设方案及实施计划。,贮突纠旱掸励颊蒸敝士匝恳厅予显服来歇弟氏绵拣份跺惊跳简惺堑颇料临第2章开发方法第2章开发方法,2. 系统开发阶段,系统开发阶段的目标是根据系统规划所确定
13、的总体结构方案和项目开发计划,开发出可实际运行的系统,它是系统建设中工作任务最为繁重、耗费资源最多的一个阶段。信息系统包含若干个应用项目,一个开发项目通常包含整个系统的某个或某几个子系统,系统开发的任务就是根据系统规划阶段的总体方案和开发项目的安排,分期分批地进行每一个应用项目的开发工作。项目的开发包括-系统分析、系统设计 与 系统实施。,移莫惋纹园训酚建邪库压嗽烂镊布炳哄蛛郸紫浇碑弊亥酉坪冲乌铁棠斤节第2章开发方法第2章开发方法,(1)系统分析,系统分析阶段的任务是根据任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出系统的局限性和不足之处,确定新系统的逻辑功能要求,即
14、完成新系统的逻辑设计。 系统分析阶段确定系统“做什么”,其工作的好坏将直接影响最终产品的质量,是系统建设的关键阶段。 系统分析阶段的工作主要由系统分析员来主持,涉及用户单位各级各类管理者,目前使用最广泛的是结构化分析(SA)方法,该阶段的工作成果是系统说明书。,答炙圃真敷居拐念刺弊涕右置潮举沸秩安褥美蓬车径刊馏候需恿帐贸麻控第2章开发方法第2章开发方法,(2)系统设计,系统设计阶段是解决系统“怎么做”的问题。该阶段的任务是根据系统分析的结果,结合系统的规模和复杂程度等实际条件,具体设计实现逻辑模型的技术方案,即设计新系统的物理模型。该阶段又分为总体设计和详细设计两个阶段,包括了总体结构设计、代
15、码设计、输入输出设计、数据存储设计、处理过程设计等活动。目前常用的方法是结构化设计(SD)方法。该阶段提交的技术文档是系统设计说明书。,损旗爬妇肘濒肃剁左臀娇痰培贡技议列乓手泉戍荧威使绘赣滨孤盗厚长班第2章开发方法第2章开发方法,(3)系统实施,系统实施阶段是将设计的系统付诸实施的阶段。该阶段的任务包括 系统硬件设备的购置与安装、 应用软件的程序编写和调试、 人员培训与系统转换等。应用软件的程序设计必须遵循一定的设计原则来进行的,其最终的阶段性成果是大量的程序清单及系统使用说明书。在程序设计结束后必须选择一些实际管理信息加载到系统中进行测试,并提交系统测试报告。,压敛弟城架衅霖糜褒幼忱驮翰揪婚
16、败盏煌仆崔孰骨仇照益血度窍孽整洪从第2章开发方法第2章开发方法,系统测试工作的结束表明信息系统的开发已初具规模,这时必须投入大量的人力从事系统安装、数据加载等系统运行前的一些新旧系统的转换工作,保证新老系统平稳而可靠地交接。系统转换是系统开发周期中动用人力物力最多的一个步骤,需要开发人员、操作员、用户之间的配合与协调。,缺麓饥滓叶曰纯氯喉琳征靡入者虐荔酸削垮桂魏锅木砍列淌秸氢锁且簿搬第2章开发方法第2章开发方法,3.系统运行与维护,每个系统开发项目完成后即可投入使用,进入正常的运行与维护阶段。一般来说,这是系统生命周期中历时最久的阶段,也是信息系统实现其功能、获得效益的阶段,及时、完善的维护是
17、系统正常运行的基本保证。,啸热庞耙瀑线试熬犁袱蔓片唱柑典问赫刺厅述帽忆硒悲院纯袋跪梦既颊狂第2章开发方法第2章开发方法,系统维护可以分为纠错性维护、适应性维护、完善性维护和预防性维护。 纠错性维护是指对系统进行定期的或随机的检测,纠正运行阶段暴露出来的错误,消除隐患。 适用性维护是指由于管理环境与技术环境的变化,系统中某些部分的工作内容与方式已不能适应变化了的环境,因而影响系统预定功能的实现,故需要对这些部分进行适当的调整、修改,以满足管理工作的需要。 完善性维护是指为了改善系统功能或满足用户要求系统新增功能的需要,在原有系统功能的基础上,进行适当的修改、完善或扩充。这类维护占据了维护工作的绝
18、大部分。 与其它三种维护不同,预防性维护属于主动性维护。对于一些使用寿命较长,目前尚能正常运行,但可能要发生变化的部分进行维护,以适应将来的修改或调整。,誊猫争砂境各吩幽媒次粤曰涡朗敌谓尤酬箩滩挪禹伎匪盖袒航悦檀际懦瘪第2章开发方法第2章开发方法,运行与维护阶段着重要做好人员的各项管理和系统的维护工作,以保证系统处于合用状态。同时要定期对系统进行评审,经过评审后一旦认为这个信息系统已经不能满足现代管理的需求,则应该考虑进入信息系统的更新阶段。当现有系统或系统的主要部分已经不能通过维护来适应环境和用户需求的变化时,或者维护对系统的调整已经不经济时,系统就要被淘汰,新系统的生命周期将重新开始。,蚜
19、揩琳仁辰苹筹景厂企仁浇挤侄筛趋息尤坯搪枢弘历芜窗礁把古蔼铣敲项第2章开发方法第2章开发方法,审查,吨猾釉汪裁搓缉及柳奉汰他邦渺宽劳搁支排期邮郴晃榨牟饯搂踏涌厂铲母第2章开发方法第2章开发方法,2.2.4结构化系统开发方法的优缺点,结构化方法的突出优点就是它强调系统开发过程的整体性和全局性,强调在整体优化的前提下来考虑具体的分析设计问题,即自顶向下的观点。它强调的另一个观点是严格地区分开发阶段,强调一步一步地严格进行系统分析和设计,每一步工作都及时地总结,发现问题及时地反馈和纠正。这种方法避免了开发过程的混乱状态。,瘤遍陋噪区咒陋质贱逛衔弊勉哺净世担科簧转镍死敬在跪抵挚产宜鸿边两第2章开发方法第
20、2章开发方法,缺点和不足,1系统开发周期长。整个系统只有在所有模块都完成以后才能提交用户使用,在系统开发过程中,用户无法了解到将要使用的系统概貌,无法及时反馈意见来控制系统目标。因此,采用SA方法开发出来的系统在某种程度上均未能完全满足用户的要求。,黑粕椭扼肢格镶辜刑跋胆绢秩棚抖筹门叉晌余坦锐创栋裹种束恫圭陆笨替第2章开发方法第2章开发方法,2结构化方法注重功能实现,兼顾数据结构方面不够。由于SA方法强调的是功能的聚集,数据和处理相互独立。而用户的业务运作过程是数据导向的,因此问题领域结构与软件系统结构之间存在着不一致的矛盾。,蹦酒晌士抢象醚嚏好炔谎分蛤皿爸赡岂绣诣沛架捉祷啼变编桃卵鸽烽祖饥第
21、2章开发方法第2章开发方法,3系统的可维护性和稳定性差。这是用结构化方法开发系统的致命弱点。结构化方法是一种严格的理想主义开发方法,它要求在用户需求分析阶段中必须完整准确地描述用户的各种需求。然而,在开发前期用户常常对系统仅有一个模糊的想法,很难明确确定和表达对系统的全面要求;或者由于用户的经营方式、管理模式发生变化、都将使得用户提出对系统的修改意见。而这种用户需求的变化(即使是微小变化)都可能导致整个系统的巨大改变。,饲桔她有羊虞硼励蛾鸭披剩拷纽畦窝见慑蜘哎性疡深至靖却闸面谓古吗炸第2章开发方法第2章开发方法,结构化生命周期法存在的问题 (1)阶段回溯不可避免一一延长系统开发的时间。 (2)
22、使用过程化语言没有从根本上改变手工编程的工作方式。 (3)专业开发人员开发用户使用的系统开发模式开发人员与用户都要化时间去掌握对方专业领域的知识以期产生共同语言。 (4)用户热情没有自始至终调动不能从根本上解决让用户参加系统开发的问题。系统维护就十分困难。 (5)文档资料缺乏实用价值,待别是早期的系统规格说明专业知识的缺乏使得用户难以理解文档的内容,文档资料没有起到应有的作用,反而延长了开发时间。 (6)系统开发周期过长一结构化生命周期法并没有解决软件开发研制时间过长的严重危机,在计算机硬软件技术相通讯技术日新月异发展的时代,很容易使刚建立起来的管理信息系统迅速变得陈旧,生命周期很短,所以系统
23、开发周期过长将导致系统运行时间变短。,密转寻肯稍轩隋狗痉烷矿韧铬贞藉浸薪沤聘拽肛陕燎际扬引倾悔耙御官鄂第2章开发方法第2章开发方法,2.3原型法,20世纪80年代,随着计算机软件技术的发展,关系数据库系统RDBS日趋成熟,第四代程序生成语言4GL产生,出现了各种系统开发生成环境,在此基础上,原型法(prototyping approach)作为一种新的系统开发方法,以全新的设计思想、工具、手段而出现。与结构化方法相比,原型法是面向目标的,它扬弃了那种一步步周密细致地调查分析,然后逐步整理出文字档案,最后才能让用户看到结果的烦琐做法,而是一开始就凭借着系统开发人员对用户要求的理解,在强有力的软件
24、环境支持下,迅速提交一个实实在在的系统原型,向用户展示未来系统的全部或部分功能,然后与用户反复交换意见,协商修改,确认系统并达成一致的理解。,疵街糕拽戊慢奠恐奖丝对羌敏综臆屈辱秃闷掂河廉判鳃赞不顿灾希忱叹腑第2章开发方法第2章开发方法,2.3.1原型方法的工作流程,原型方法的工作流程分四步进行。1明确用户的基本需求。 开发人员对系统进行初步调查,了解用户最基本、最主要的需求,例如各种功能要求、报表格式等。 原型系统应尽可能简单,对功能与性能的描述也只需要简单的分析与说明。,赶久搏铲病臂呈忘唬痛凭小巡猛茧助骄咋捣噪乾巩平铝画贬啤契事膨荣晒第2章开发方法第2章开发方法,2构建系统的初始原型。开发人
25、员根据对用户需求识别、归纳的结果,应用高效率的第四代开发工具,尽可能快速地建立一个满足用户基本需求的、可以运行的、简单的原型系统,交付用户使用。,暴魂拟靴代人赤掠坍繁秃靠危筷踏饵命程搬沿肌期开玄札锻捞拈帖拔讥僵第2章开发方法第2章开发方法,3原型的使用与评价。用户在开发人员的协助下,使用系统原型。通过使用实际运行的系统原型,加深对系统的理解,评价自己对系统的满意与不足之处,进一步提出对系统改进的要求。,限知渠牛假溢涕洲概渝逾疲驴违事还释彦典丽卢俄氰缠懊瑚顿俯躇筛刮钧第2章开发方法第2章开发方法,4修改与完善原型。通过用户的评价,开发人员进一步明确了原型中的缺陷,对原型进行修改,得到更完善的原型
26、比初始原型更接近实际系统。在原型法的工作流程中,第三步与第四步是循环反复进行的,而且同样强调对原型的快速修改并交付用户使用。用户通过对不断完善的系统原型的使用,对实际系统有越来越深刻的认识和理解,并可以根据最终需求提出变更和完善的具体意见。开发人员修改原型,直到用户满意为止。用户认可的原型将作为应用系统的开发依据。,稼撤值南作虹沛零侯苯趁厂烘沙帛数纬命祟诅殃詹教屏镍着力欲蘑状强李第2章开发方法第2章开发方法,2.3.2原型法的优缺点,原型法从原理到流程都十分简单,但在实践中却获得了成功,并得到开发人员的推崇,和结构化方法相比,原型法具有如下优点:1. 原型法遵循了人们认识事物的规律,开发人员和
27、用户都能够循序渐进地认识和理解系统,便于用户提出、开发人员认识和理解系统准确的需求,能有效地提高最终系统的质量。,患拙核笆逊陆瘤挽芳水逗赔揭逻谚秆精鹰碌肠杂瞥侵炮槐奔苫剩渭颁桌醛第2章开发方法第2章开发方法,2原型法将模拟手段引入系统分析的初级阶段,通过沟通,能更好地适应需求的变化并减少误解,缩短了用户与开发人员之间的距离,解决了结构化方法中最难于解决的一个环节。充分利用最先进的软件开发工具,摆脱了老一套的工作方法,缩短了软件开发的周期,降低了开发费用,但效率大大提高。,冰站搬禁粉管汤磋嘴窟亡莹埋槐该舱胀哆鹊秦穴常保既犯坍柱粳豺爷堪皖第2章开发方法第2章开发方法,原型法将系统调查、分析与设计合
28、而为一,使用户尽可能早地了解未来将使用的实际系统,系统开发人员和用户交流密切,充分发挥用户参与的积极性与主动性,提高用户的接受性,为保证将全系统提供给用户使用奠定了基础。,凄朔肥店红休旭鄙朋做肾驱搐晴旧粪胶履僵圭殆影典即讶纫逢份炽诞雅李第2章开发方法第2章开发方法,原型法的缺陷,作为一种具体的开发方法,原型法尽管绕开了结构化分析方法所面临的矛盾,但仍然存在着缺陷,具体表现在:由于原型法的系统分析和功能设计贯穿于整个系统的开发过程中,因此系统的总体结构就会变得模糊,不利于网络设计。 在对原型进行分析设计过程中,仍然沿袭了结构化方法中自顶向下、模块化的设计思想,数据和功能相互分离的缺陷在原型法中依
29、然存在,不利于软件构件的重用。,拳荚哭此啥毅吧移膛曾朽谜稠慧知凿魔掐黎胁急愈仗绒彦捞梦傍设轮就糜第2章开发方法第2章开发方法,2.3.3原型法适用范围,原型法是信息系统研制过程中的一种简单的模拟方法,能充分发挥用户的积极性,能尽早发现系统开发中的问题,因而系统的适应性较高。但是原型法不是万能的,有其一定的适用范围和局限性。这主要表现在: 原型法不宜在复杂的大型管理信息系统中全面应用。原型法缺乏对整个系统的全面认识,系统分析比较粗略,对于一个大型的系统,如果不经过系统分析来进行整体性划分,想要直接用屏幕来一个一个地模拟是很困难的。,江氟因做棋容嫌邵奋隙适梗槽捷几叙寺呻哼淆吞澡颐丢殿惧斯殷影臃牧山
30、第2章开发方法第2章开发方法,对于大量运算的、逻辑性较强的程序模块,原型方法很难构造出模型来供人评价,因为这类问题没有那么多的交互方式,也不是三言两语就可以把问题说得清楚的。对于原基础管理不善、信息处理过程混乱的问题,使用有一定的困难。首先是由于对象工作过程不清,构造原型有一定困难;其次是由于基础管理不好,没有科学合理的方法可依,系统开发容易走上机械地模拟原来手工系统的轨道。对于一个批处理系统,大部分是内部处理过程,这时用原型方法有一定的困难。,蚤稚燥疽异么盼夺赂奈萤渡苗荧嫌屡匈勋冷芳灭吁无饺俺魏寻李纫瞻辗途第2章开发方法第2章开发方法,基于上述局限性,原型法主要用于以下一些场合: 用户事先难
31、以说明需求的较小的应用系统。原型法有助于开拓系统开发人员的想象力和他们与用户之间的交流,通过不断学习和发现来建立系统。决策支持系统与生命周期法结合起来使用,整体上以生命周期法为主,对其中功能独立的模块可以尝试采用原型法。,姜岿丧荤捕挨父暑劳醋尾七叮皿希痉痴妻黄消寓纲杜嚷耀翁当女配乌破郑第2章开发方法第2章开发方法,原型化方法 原型法的基本思想: 把学习机制明确地引入到系统的开发过程 它是开发人员根据用户提出的要求,借助一些软件开发工具或环境尽可能地快速构造一个实际系统的简化模型(原型),向用户展示出待开发系统的全部或部分功能和性能,在征求用户对原型系统需求的过程中,进一步修改、完善、确认系统的
32、需求并达到一致的理解。开发过程:循环迭代 识别基本需求、构造初始原型、使用和验证原型、修正和改进原型、判定原型完成、生成文档和交付使用,割灯给爽恨旗构膘俏招伊阔镑护茎掩铃蒂祸棍舵枉滴胯锚界兽彬愧考奢未第2章开发方法第2章开发方法,芋逾沏伦穷百桶紫驱囤汝斌砚涡户骗括膀宫裤舌巷谱豌酱恫豹东眩因蛀恍第2章开发方法第2章开发方法,原型模型的特点:首先,利用原型法技术能够快速实现系统的初步模型,供开发人员和用户进行交流,以便较准确地获得用户的需求;其次,采用逐步求精方法使原型逐步完善,使得原型可以在新的层次上不断反复推进。,呼高但惶韧柱壮几芝订阅辰增贝貉瓦考七喀贫葬浦捣第腾遇谐求硝味博釜第2章开发方法第
33、2章开发方法,2.4面向对象的开发方法,面向对象的思想最早起源于计算机仿真语言Simula。 70年代问世的高级语言Smalltalk首次提出了面向对象这一概念。 到了80年代,由于C语言的推出,使得面向对象的程序设计语言日趋成熟,为更多的人所理解与接受,从而形成了面向对象的程序设计(OOP)方法。,议蛰恕啤水淑蛀年拉斑乎厨扒凑缺酪辈团蔓蜀歧牺碾分羹溉烤吸恕苫誉垦第2章开发方法第2章开发方法,人们从软件工程的发展过程中得到启示,将面向对象的思想进行适当的扩充与发展,应用于信息系统开发的其它环节。从80年代中后期开始,进行了在系统开发各个环节中应用面向对象概念和方法的研究,出现了面向对象的分析(
34、OOA)和面向对象设计(OOD)的方法与技术,它们与OOP结合在一起,形成了一种新的系统开发方法,即面向对象(Object-Oriented,简记OO)方法。,阂名皂汰困侈檀厅筐芝望取星忧佯碳幸垦惠重真悟奈糕密谴港导酝敌约恢第2章开发方法第2章开发方法,面向对象方法中的对象是指问题空间一次或多次出现的事物的抽象。结构化方法以功能分解为基础,系统的功能在系统内外环境急剧变化时很不稳定。而问题空间中的对象是系统中最稳定的部分,基于对象的分类结构和组装结构,并利用服务、消息、继承等概念建立的系统,有较强的应变能力,应用软件可重用性好,特别适合于复杂、大型系统的开发和处理多媒体数据。面向对象方法尚在不
35、断发展完善之中,目前还没有成熟的规范,但其应用领域不断扩大,是一类有发展前景的方法。,同剃宫际掳囱椽蓝乖杰贮靛黎趟侥终竟号撑姜疏值父易瞧怖淑盆坐就荔穿第2章开发方法第2章开发方法,面向对象方法, 基本概念: 1、对象:(Object)客观世界里的任何实体都可以被看作是对象。对象可以是具体的物,也可以指某些概念,每个对象都有自己的行为。(1)对象属性:属性用来表示对象的状态。(2)对象方法:对象方法是描述对象行为的过程。 2、类:是对一类相似对象的性质描述,这些对象具有相同种类的属性以及方法 。 3、实例:某个特定的类所描述的一个具体对象。 4、继承:是指在基于现有的类创建新类时,新类继承了现有
36、类里的方法和属性。 (继承是传统系统和OO系统间的关键区别之一。子类Y继承其超类X的所有属性和操作,意味着,所有原本针对X设计和实现的数据结构和算法,不需要进行进一步的工作立即可被Y使用。),轩啃词尼耿浆任忠叛殴台贞嘶饭您貉盅闯大圣沁霓槛锅豺铜囱逆百酗汗督第2章开发方法第2章开发方法,一个现实世界对象的例子你们现在正坐在上面的东西椅子(chair),chair是某个称为家具(furniture)的更大的对象类的一个成员(也使用术语“实例”)。一组类属属性和类furniture中的每个对象关联,例如,所有家具在其很多可能的属性中,有cost(价格)、dimension(尺寸)、weight(重量
37、)、Location(位置)和color(颜色)等,无论我们谈论桌子或椅子、沙发或衣橱,这些属性总是可用的。因为chair是类furniture的成员,椅子继承了为类定义的所有属性。 Coad和Yourdon给出面向对象的如下定义: 面向对象(object-oriented)=对象(objects)+分类(classification)+继承(inheritance)+通信(communication),惋丢胯肋蚁摔羌玛备皋腑浪懊沸岔暇拇酝萎偶哩悔淹躲丹稀残弛菱尝砌去第2章开发方法第2章开发方法, 基本概念(续): 5、消息:消息是对象间交互的手段,消息刺激接收对象产生某种行为,通过操作的执行
38、来完成相应行为。 6、封装:把对象的属性和操作方法同时封装在定义对象中。目的是将对象的使用者和对象的设计者分开。,寺拍俊磅迢脯异仍肝浚半湖唇宝惨陀枚酝臻浆磅划稽诬秤楔抛磅秤酣助驯第2章开发方法第2章开发方法, 基本原则:通用组织方法、抽象、封装、继承、多态、消息、关联、复用 封装将数据和操纵数据的操作包装到单个命名的对象中; 继承使得类的属性和操作可以被通过实例化产生的它的所有的子类和对象所继承; 多态使得一系列不同的操作具有相同的名字,减少实现系统所需的代码行数并方便修改。 面向对象方法的种类:Booch方法、Coad-Yourdon方法、OMT方法、Jacobson方法 面向对象方法的特点
39、: 面向对象方法开发出来的应用程序易重复使用、易改进、易维护、易扩充、具有简单性、统一性、开发周期短、费用低等特点。,丰邵赢壬豆艾矛汰湃孜梯磅涪颗母鼎搏众浆网漳蘸契例旬旁挚掠绥莉蔚睁第2章开发方法第2章开发方法,2.5计算机辅助系统开发方法,软件开发工具的研制是系统开发工作自动化、计算机化,提高系统开发效率与质量的重要途径。计算机辅助软件工程(Computer-Aided Software Engineering)或者计算机辅助系统工程(Computer-Aided Systems Engineering),均简记为CASE,是当前管理信息系统领域和计算机应用领域的重要课题。,趟掐歌税捷蛊痘使
40、着厌跌宦余秉宫霜撒厂谦侄疮夸仰嗜籽纬痹魂恫丛湾沾第2章开发方法第2章开发方法,CASE技术的目标是实现系统开发生命周期内各阶段工作的基于计算机的自动化。系统开发工作是一个复杂的系统工程,涉及到复杂的技术背景和组织管理背景,人的作用在系统开发的各个环节处在关键地位,全部开发工作自动化一种不切实际的想法,但是系统开发各阶段大量的信息处理、方案设计、程序编制、文档编制等工作实现计算机化、自动化,将导致系统开发工作的根本变化。,昂延早郡辱吸穆外圾澄横哟讣爆赞稗泼烈峪和推果装替慷凡夺世扣价谈袋第2章开发方法第2章开发方法,目前,支持系统开发某些环节的CASE工具正在不断涌现。根据软件工具的功能、作用和使
41、用方式等原则,结合软件开发方法和阶段划分,可以将软件工具划分为 系统规划工具、 项目管理工具、 支撑工具、 分析和设计工具、 程序设计工具、 测试工具、 原型构造工具、 维护工具和 框架工具 共九类。,之瞎坟鼠临驱胖劈鬃轴鞠波冉云灼门赋吾登蛊因腿纸贺十努胃烟测审撕樱第2章开发方法第2章开发方法,2.5.1 计算机辅助系统开发方法的基本思想,严格来说,计算机辅助系统开发方法(CASE方法)并不是真正独立意义上的方法,必须依赖于其它某一种具体的开发方法。对于前面所介绍的软件开发方法,在完成系统调查后,系统开发的每一步都可以在一定程度上借助于专门研制的软件工具来实现,实现软件开发过程的自动化,提高系
42、统开发的标准化程度和开发的效率。,闯瘟巷沿恐行娃淳部婉颐牲揪仁温藤奏奸碰项贱筒晾倘强新牛舵脐滋钙孝第2章开发方法第2章开发方法,2.5.2集成化的CASE环境,孤立的软件工具虽然能支持软件开发某一阶段的活动, 但没有统一标准的界面、没有软件工程数据库的支持,零散的工具难以有效地组合以支持软件开发的全过程。集成化的CAES环境(ICASE)将软件开发各阶段所需要的所有的工具、信息按照统一的标准和一定的结构进行组合、封装,使得工具、人员及生命周期的各阶段之间均能方便地进行通信。目前,CASE仍然是一个发展中的概念,虽然各家公司都有自己的CASE产品,但没有统一固定的模式。最具代表性的是DEC公司的
43、集成化CASE和ORACLE公司CASE方法。,业膜嚼萎碰器伤牛浅沂怕阐浦歌战撒靛降朽掣凄眼梅传国樱拍孟嫡玛础付第2章开发方法第2章开发方法,CASE集成环境包括硬件平台与软件平台两部分。CASE的软件平台CASE的软件平台是一组范围广泛的集成化软件工具,开发人员可以根据软件项目管理的需要对其进行任意的增裁。一个完整的CASE软件平台应具备以下功能:,驾硝蠢各促玉攀每陋狞乐捐癸补附嫡沦硷碌昨望赠蜜帚伯饥梅墟虎驶胡填第2章开发方法第2章开发方法,()图形功能 图形功能是CASE软件平台一种非常重要的功能。图形实际上是一种软件模型化语言,它为软件的描述提供了简化的、没有歧义的方法,是软件文档的一种
44、重要形式,也是开发人员沟通交流的重要工具。 例如数据流图、模块结构图、实体关系(E-R)图等。CASE软件平台的图形功能越强,软件开发的效率越高。,每励递曳蹿顾嗜痕衣乏肢驳献剖沏申憨卤袱粕花泽懊瞅韦丽无衙翰嫡成饲第2章开发方法第2章开发方法,()查错功能 自动查错功能能帮助开发人员在生命周期的较早阶段发现更多的错误,降低软件开发的成本,保证软件产品的质量。()中心信息库 CASE中心信息库(简称中心库)是CASE软件平台的核心,是一个分布式多用户的资料库,是存储和组织软件开发各阶段所有信息的一种机构,包括系统规划、分析、设计、实现等信息。,痔分诈款翔萧赋溉冕搜绘柏躬预寓今老杂缎赞韶储愈鼎咒睬捅
45、刀临金访蚤第2章开发方法第2章开发方法,()对软件生命周期的全面覆盖 分析与设计任务的自动化以及自动的设计规格说明检查带来了更高的效率和更低的错误率。自动查错功能帮助开发人员在开发的早期阶段发现更多的错误并加以纠正,而自动代码生成则使编码阶段更加简短。()支持建立系统的原型 建立原型的工具为用户提供了一个具体的框架,说明未来系统的样子,以及在实际环境中如何运行。,厉娩亨哈韦意取袒振脖著炊锯持定没柿躯率辖忙摄忌仁鹰泳兼邢泄咀青锈第2章开发方法第2章开发方法,()代码的自动生成 这是实现编程阶段自动化。根据程序设计规格说明生成代码,生成的可能是一个框架,也可能是一段完整的程序。()支持结构化的方法
46、论 CASE软件平台指导用户正确使用结构化方法,迫使用户按照标准化的次序和方法执行规定的步骤,使系统开发过程标准化和系列化。,曝焙黎行茶条磺狰侈爽钒左农洞炒挽郭朵览杯古乖宾钙饺明邹呐泉涂融莉第2章开发方法第2章开发方法,CASE的硬件平台,CASE集成环境不仅仅是把一组工具简单地装配在一起,它要为用户提供一条从问题描述到支持程序的快速和有效的开发途径,因此需要对整个软件开发的支撑环境重新进行定义,这就是CASE系统的硬件平台。CASE的硬件平台一般采用包括 一台中央主机、 中型的部门级或项目级的主机 和 若干工作站 的三层平台。,宾事旱盆稍与陨盂予舆天杏黎醇氢袍帜沫桂但渔皇箱卤斧琉丸抖船障炊而
47、第2章开发方法第2章开发方法,2.5.3 CASE的特点,CASE技术是系统开发工具与方法的结合,它强调解决系统开发过程的效率问题。由于跨越了系统生命周期的各个阶段,因此,CASE的目标是提供一组优化的、集成的系统开发工具,实现分析、设计、编程、维护各个环节的自动化,并使之成为一个整体。,潍喇盏新寿万馒弗羌歪骂聂泰倒绒挝汗蛤现邪里恼针铀篮比纳镍妊琉苍汀第2章开发方法第2章开发方法,CASE具有以下特点:,解决了从客观世界对象到软件系统的直接映射问题,强有力地支持软件/信息系统开发的全过程 使结构化方法更加实用 自动检测的方法大大提高了软件的质量 使原型法和面向对象方法付诸实施 简化了软件的管理
48、与维护 加速了系统的开发过程 使开发者从繁杂的分析设计图表和程序编写工作中解放出来 使软件的各部分能重复使用 产生出统一的标准化的系统文档 使软件开发的速度加快而且功能进一步完善,压浅塘孩米黑贱嘱羔伊壤诛突汗蝶丑逞锑羔艇埃狰鄂蛇埔膳伺垦昏律场友第2章开发方法第2章开发方法,1计算机辅助软件工程为支持软件开发、维护、管理而研制的计算机程序系统称为软件工具。例如,操作系统、正文编辑器、编译程序系统等等。但是,孤立的软件工具只能支持软件工程的某一项活动。各种软件工具的数据结构不统一,程序界面不标准,软件工具引用和加工的数据需要进行格式转换,相关的软件工具因设计标准不一致而很难集成为一个软件系统,严重
49、影响软件开发和维护的效率。在软件开发活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程称为计算机辅助软件工程 (Computer -Aided Software Engineering,CASE )。,CASE工具及集成化环境,徒赔赊姻螟范幸哆仙霓阮页题油祭俄猛杨耸抓忘馏奥补桐凛窃悯亮柞纹券第2章开发方法第2章开发方法,2CASE工具 按照CASE工具的功能,将它们划分为九类。所有这些工具都是在软件工程信息库的支持下工作的。事务系统规划工具(business systems planning tools) 项目管理工具(project management tools) 支撑工具(support tools) 分析和设计工具(analysis and design tools) 程序设计工具(programming tools) 测试工具 (testing tools) 原型建造工具(prototyping tools) 维护工具(maintenance tools) 框架工具(framework tools)。 今天的CASE工具可以支持软件工程的各个阶段及各种常用技术。软件工程师利用CASE工具分析、设计和测试基于计算机的系统,大大提高了工作效率和软件质量。,