系统分析师笔记-案例分析-软件开发方法

案例分析-软件开发方法

原型开发方法的问题:

1,客户时候已经看到了软件的工作版本,却无法理解,原因在于为了使原型能够很快使用,开发者没有考虑软件的总体质量和长期可维护性。

2,开发者常常需要实施上的折中使原型能尽快工作。

XP(极限编程)缺点

1,“非要用文档时才编写”,实际执行中非常容易不忽视文档。

2,简单设计、测试先行、重构、集体代码所有制、持续集成某种意义上维背了程序员的传统习惯。

3,小型发布、结对编程、每周工作40小时,经常让管理者不可理解。

4,现场客户实践经常无法得到客户的理解和满足,另外许多客户在接受每一次小规模发布时,也会提出异议。

简单设计:“只为今天设计,不过多的考虑明天的需要,因为现在的假设可能是错误的,也许明天还有更好的实现方法。

小型发布:每次迭代都实现一个小型的发布,提交一个能让用户使用的小型版本。

测试先行、重构:“小步快走”的关键实践,有利于提高软件质量。

软件产品线(software product line)是一个十分适合专业的软件组织的软件开发方法,能有效的提高软件生存率和质量、缩短开发时间、降低总开发成本。

软件产品线特点:过程驱动、特定领域、技术支持和架构中心。

软件产品线组成:核心资源和产品集合。

建立产品线的几种方式:

1,将现有产品演化为产品线。

2,用软件产品线替代现有产品集。

3,全新产品线演化。

4,全新软件产品线的开发。

原型生命周期:合适的选择、识别基本需求、开发工作模型、模型验证修正和改进、判断原型完成、判别细部说明、判断原型效果、整理原型和提供文档。

改变原型生命周期约束的方法:1,只对屏幕的原型化。2,使用购买的应用系统作为初始模型。 3,子系统原型化。 4,原型与需求建议。5,最终用户进行原型化。

引入原型化,项目管理的基本内容如下:

1,估计过程。 2,费用重新分配。 3,变化控制。 4,停止活动。

RAD快速应用开发

基本思想:

1,让用户更主动地参与参与到系统分析、设计和构造活动中。

2,项目期间组织一系列研讨会,研讨会要让项目投资方、用户、系统分析师、设计人员和开发人员一起参加。

3,通过一种迭代的构造方法,加速需求分析和设计阶段。

4,让用户提取看到一个可工作的系统。

RAD开发流程:

1,业务建模。用到的工具:数据流程图。

2,数据建模。...流程图。

3,处理建模。...细化数据流程图的加工。

4,应用生产。

5,测试与交付。

RAD特点:

1,强调用户参与。

2,通过大量使用可复用构件,加快了开发速度。

RAD局限性:

1,RAD强度系统本身的结构,系统可能在短时间内工作很好,但是系统的整体和长期目标可能得不到满足。

2,加速开发周期可能会导致没有更多的时间提高项目质量、连贯性和设计的标准化。

3,并非所有软件都适合RAD。如:难以模块化、高性能、技术风险高。

为了贯彻4大价值观,敏捷联盟提出12条原则。

1,尽早持续交付有价值的中间软件使客户满意。

2,即使到了开发后期,也欢迎需求变化。

3,经常交付可工作的软件。

4,开发全过程,业务人员和开发人员必须天天在一起工作。

5,位开发人员提供环境和支持,给予信任,以人为本构建项目。

6,团队内部,最有效的沟通方式莫过于面对面的交谈。

7,工作的软件是度量进度的首要指标。

8,提倡可持续的开发速度,责任人、开发者和用户应保持一个长期的、恒定的开发速度。

9,不断关注好的技能和设计会增加敏捷能力。

10,开发者的本质是简单的。

11,自组织的团队才能做出最好的架构设计和需求分析。

12,团队应定期在如何更有效工作方面进行反省,然后对自己的行为做出改进。

结构化方法的关注点是系统功能,强调业务过程的数据流和控制流,采用模块化、自顶向下、逐步求精的设计过程。开发过程划分成若干相对独立的阶段,结构清晰、可读性好。适合:规模

较大、结构化程度高的系统开发。

面向对象关注与处理数据,以对象为中心,能够将数据和它的行为统一起来。对象之间通过消息交换引发对象行为。...提高了数据和功能的复用程度。简化了开发系统开发过程,系统可维护

性得到了改善。

开发过程模型:

1,软件需求完全确定:瀑布。

2,初始阶段只提供基本需求的迭代式或渐进式模型,如:螺旋模型、喷泉模型、统一开发过程和敏捷方法。

3,形式化开发方法为基础的变换模型。

时间: 2024-10-12 04:00:59

系统分析师笔记-案例分析-软件开发方法的相关文章

软件开发方法

在上个世纪60年代中期爆发了众所周知的软件危机.为了克服这一危机,在1968.1969年连续召开的两次著名的NATO会议上提出了软件工程这一术语,并在以后不断发展.完善.与此同时,软件研究人员也在不断探索新的软件开发方法.至今已形成了八类软件开发方法.中文名   软件开发方法 提出时间   1972年 原则    意外故障采取措施 1 Parnas方法 2 SASD方法 3 面向数据结构的软件开发方法 4 Jackson方法 5 Warnier方法 6 问题分析法 7 面向对象的软件开发方法 8

今天学习的结构方法,也就是面向功能的软件开发方法

结构化方法 结构化开发方法是由E.Yourdon和L.L.Constantine提出的,即所谓SASD方法,也是可称为面向功能的软件开发方法或面向数据流的软件开发方法.SASD方法是20世纪80年代使用最广泛的软件开发方法.它首先用结构化分析(SA)对软件进行需求分析,然后用结构设计(SD)方法进行总体设计,最后是结构化编程(SP).它给出了两类典型的软件结构(变换型和事务型),使软件开发的成功率大大提高.

软件工程与软件开发模型、软件开发方法

什么是软件工程? 软件工程一直以来都缺乏一个统一的定义. IEEE给出的定义是:软件工程是:1.将系统化的.严格约束的.可质量化的方法应用于软件的开发.运行和维护,即将工程化应用于软件:2.在1中所述方法的研究. 比较认可的一种定义是:软件工程是研究和应用如何以系统性的.规范化的.可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来. 什么是软件开发方法(或软件开发过程)? 软件开发方法找不到统一的定义,但是我们说极限编程(Extr

Atitit.研发管理--提升效率--软件开发方法DSM总结o99

1. 什么是DSM? 1 2. DSM使用的语言DSL 2 3. 模型的优点 2 4. DSM 跟与MDA区别 2 5. MDA的实现 3 6. 参考 4 1. 什么是DSM? 只有提高抽象层次,将软件直接面向建模专家或系统分析师,然后运用自动化代码生成技术,这样才能高质量大幅度快速开发出软件系统,在OOPSLA(领先的软件工程会议),大家认为DSM可能是一种解决方案.Bill Gates 和 Grady Booch也发表过同样观点. DSM意味Domain-Specific Modeling领

系统分析师笔记-案例综合题-系统分析

案例综合题-系统分析 问卷调查不足: 1,缺乏灵活性. 2,双方未见面. 3,用户不重视. 3,不利于对问题的展开问答. 4,回答的数量往往比预期少. 用例建模描述各种参与者和系统之间的主要交互. 组件建模确定系统的子系统.模块和组件结构.为子系统或模块分配需求和职责. 服务建模提供了通用的应用程序,并将应用程序定义成一组服务接口. 性能建模是对系统的性能进行度量,为没个组件确定性能指标. 通过研究PIECES框架中类别或子类中的内容,可以发现企业中存在的各种问题.PIECES框架的内容如表所示

[ZZ]39条更好的软件开发方法

1.重构是程序员的主力技能. 2.工作日志能提升脑容量. 3.先用profiler调查,才有脸谈优化. 4.注释贵精不贵多.杜绝大姨妈般的“例注”.漫山遍野的碎碎念注释,实际就是背景噪音. 5.普通程序员+google=超级程序员. 6.单元测试总是合算的. 7.不要先写框架再写实现.最好反过来,从原型中提炼框架. 8.代码结构清晰,其它问题都不算事儿. 9.好的项目作风硬派,一键测试,一键发布,一键部署; 烂的项目生性猥琐,口口相传,不立文字,神神秘秘. 10.编码不要畏惧变化,要拥抱变化.

系统分析师笔记案例综合题

Java企业应用框架一般被划分成3个层次:表现层.业务逻辑组件层和持久层.分布对于View,Controller,模型Model. 轻量级架构侧重减少开发的复杂度,相应的,它的处理能力便有所减弱,比较适合于开发中小企业应用. 重量级框架强调可伸缩性:适合开发大型企业应用. 数字视频监控管理系统在设计是必须注意: 1,密码性. 2,实时性. 3,扩展性. 4,稳定性.

《敏捷软件开发读书笔记之一》

要想成为一名优秀的软件开发者,需要熟练应用编程语言和开发工具,更重要的是能够领悟代美代码背后的原则和前人总结的经验——这正是本书的主题.本书凝聚了世界级软件开发大师RobertCMartin数十年软件开发和培训经验,不仅是一部深入浅出.生动易懂的面向对象原则与模式著作,而且还是一部通俗的敏捷方法导引书和快速实用UML教程.分为敏捷开发,敏捷设计,薪水支付案例研究,打包薪水支付系统,气象站案例研究和ETS案例研究六个部分,包含30个章节.以下是我对前两个部分的认识及见解: 以下六章是对第一部分敏捷

【转】寻求一种更好的软件工程研究方法

Mary Shaw 寻求一种更好的软件工程研究方法 Mary Shaw School of Computer Science, Carnegie Mellon University 摘要关于对物理学,生物学和医学的研究过程,人们早已有了公开的精准的解释.即便是在形式上看似简单,但这个领域的内和外也算提供了有价值的“高水准研究”的指导.但是软件工程就不同了,人们至今尚未明确找到并解释如何研究以及用何种方法去进行研究??.(方法论也是顶层设计,只有找到了高屋建瓴的研究方法,才能推动这个行业的进步.本