
软件设计
文章平均质量分 69
ulark
这个作者很懒,什么都没留下…
展开
-
如何书写Use Case
什么是Use Case用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现。是后期时序图和实际开发的重要依据。也可以对作为项目估算的依据,以及根据UC复杂度和开发周期来衡量开发人员的工作效率。因此UC的书写规范及其重要,就工作用的一些经验,比如书写格式、书写内容及其注意事项与大家分享。大纲图: 一、前期准备Ø 对用户的问题要有非常深刻完善的理解Ø原创 2009-12-07 14:01:00 · 876 阅读 · 0 评论 -
简析软件需求的分析过程
最近正在做新产品的需求分析,对需求分析阶段的很多问题又有了重新的认识,在此结合以前的经验,就软件需求分析阶段的各个任务,做一下总结,与大家分享。 众所周知,软件需求分析是软件生命周期的第二阶段,主要对前期软件定义及计划阶段提到的任务及计划进行概要的补充,需求分析的主要任务不是确定将来的系统怎么完成某项工作,这是设计阶段的事情,而是明确系统将要完成什么功能,对目标系统将要完成的功能提出完整、原创 2010-03-09 13:16:00 · 669 阅读 · 0 评论 -
软件目的需求开发与管理软件目的需求开发与管理
需求开发与管理是软件项目中一项十分重要的工作,据调查显示在众多失败的软件项目中,由于需求原因导致的约占到45%,因此,需求工作将对软件项目能否最终实现产生至关重要的影响。虽然如此,在项目开发工作中,很多人对需求的认识还远远不够,从本人参与或接触到的一些项目来看,小到几十万元,大到上亿元的软件项目的需求都或多多少的存在问题,有的是开发者本身不重视原因、有的是技术原因、有的是人员组织原因、有的是沟通原原创 2010-03-09 14:05:00 · 897 阅读 · 0 评论 -
软件可测试性需求设计
一、引言 1.目的 提高软件的可测试性,加快测试进度,提高测试效率。 2.范围 本文描述的范围主要是可测性设计的特征,考虑方向及设计方法。 3.读者对象 系统分析员、设计人员、开发人员。 二、测试所需文档 1、需求规格说明书 2、概要设计说明书 3、详细设计说明书 4、系统功能清单 5、系统运行环境搭建指导书 6、系统操作指导书 三原创 2010-03-09 14:08:00 · 908 阅读 · 0 评论 -
从技术员到项目管理转型的体会
我毕业后一直在软件行业,最初做过四年的基础性技术工作,然后慢慢转型到管理岗位,现在在项目管理工作中已经度过了第八个春秋。在从技术人员向管理人员转型的过程中,经历了一个漫长的过程,期间曾一度犯过一些错误,还为此付出了一些代价,也总结了不少经验和教训,在此谈些技术骨干向项目经理转型过程中比较重要的几个问题。 一、与领导有效沟通 一般情况下技术人员的弱点是过于注重技术而忽视了沟通。做好工作是原创 2010-03-09 15:21:00 · 750 阅读 · 0 评论 -
软件工程之需求分析过程介绍
软件需求工程过程(SREP),本文简要地列举并说明了在整个软件需求工程的过程中的工作职责要点。 一、 开始 1. 项目经理根据项目特点,指定对过程表格的具体要求; 2. 项目经理制订项目的标准,包括:DTS(缺陷类型)、TRA(风险类型)、TRS(需求类型)等,在过程表格中按标准引用. 二、 计划 1. 计划经理估算需求开发时间; 2. 计划经理完成:SPT(进度计划)、TPT(任务计原创 2010-03-09 10:54:00 · 468 阅读 · 1 评论 -
有效需求分析过程
对大多数人来说,若要建一幢数百万元的房子,他一定会与建房者详细讨论各种细节,他们都明白完工以后的修改会造成损失,以及变更细节的危害性。然而,涉及到软件开发,人们却变得“大大咧咧”起来。软件项目中百分之四十至百分之六十的问题都是在需求分析阶段埋下的“祸根”(Leffingwell 1997)。可许多组织仍在那些基本的项目功能上采用一些不合规范的方法,这样导致的后果便是一条鸿沟(期望差异)—开发者开发原创 2010-03-09 11:58:00 · 729 阅读 · 0 评论 -
怎么做项目需求分析报告
项目需求分析,看了听棠的“客户需求何时休”,深有感触,何曾自己不是被这个问题整天困扰:客户需求,为什么总在变阿?做项目真辛苦阿!这样的感叹整天都挂在口上。客户需求变动确实是一个软件开发永远不变的话题。为什么小的软件企业面对经常变动的需求是如此的狼狈?到底要怎么做才能满足客户的需求? 听棠的“客户需求何时休”深刻的披露了这个问题存在的根源。 需求分析,不仅仅是拿到客户的需求,更重要的原创 2010-03-09 13:42:00 · 696 阅读 · 0 评论 -
原型法破解小型软件项目需求分析之痛
软件项目需求分析是一个项目的开端,也是一个项目建设的基石。在失败的开发项目中,80%是由于需求分析的不明确而造成的。因此,一个软件开发项目想要成功的关键就是要做好需求分析。这是我经过在上个月不堪回首的痛苦折腾后,才深深领悟到的真意。在这里我想把在这个项目得到的教训和经验与大家分享。 在上个月,公司委派我负责一个小型的软件开发项目。在接手这个项目时,我看到该项目的需求比较简单,于是想当然的就原创 2010-03-09 13:46:00 · 470 阅读 · 0 评论 -
再谈如何学习掌握用户需求
软件生命周期: 1.萌芽阶段 2.定义阶段 3.具体阶段 4.设计 5.开发 6.测试 7.试运行 8.上线 1-2:产品概念的明确,有哪些模块?大块功能?特性功能? 学习的知识: s1.学习相关领域知识!!必须地!! s2.了解产品客户群,具体产品使用角色,该角色在真是生产中的工作流程,哪些可能需要在产品中哪些?!重要! s3.明确项目组可以做到功能范围,包括原创 2010-03-09 14:09:00 · 389 阅读 · 0 评论 -
软件配置管理和文档管理
软件配置管理的概念 软件配置管理(Software Configuration Management, SCM)是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。 软件开发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,它们都应当被妥善地保管起来,以便查阅和修改。如果把所有文件一股脑地原创 2010-03-09 15:28:00 · 1686 阅读 · 0 评论 -
软件开发注定失败的26个信号
尽管我们努力使每个软件开发项目获得成功,但有些项目刚刚开始就已埋下祸根。这里是企业软件开发项目走向死亡征程的26个早期预警信号--呜呼,全来自现实世界的经验。 1、项目名称在过去的几个月里发生了第三次变化。 2、开发经理决定最好给英国用户写一个完全不同的版本,而不是一个独立的国际化版本。 3、需求定义在开发活动开始后的几个月才开始进行。 4、新雇来的研发总监自豪的通知董事会项目将会提前原创 2010-03-09 10:55:00 · 488 阅读 · 0 评论 -
点评需求分析误区
要想说什么是好的需求分析,不如说什么是不好的需求分析,知道什么是不好的,自然也就知道了什么是好的。以下就是一些不好的情况: (1)创意和求实 毋庸质疑的,每个人都会为自己的一个新的Idea而激动万分,特别是当这个Idea受到一些根本不知道你原本要干嘛的人的惊赞时。但是请注意,当你激动得意的时候,你可能已经忘了你原本是在描述一个需求,而不是在策划一个创意、创造一个概念。很多刚开原创 2010-03-09 13:45:00 · 511 阅读 · 0 评论 -
需求捕获中的注意事项
做过软件的人都听过这样的抱怨:需求变化太快,软件系统经常要修改,都连续加班几个星期了..... 你是否也遇到过这样的问题呢? 首先,问题的根源——用户需求不断变化。 很多需求分析人员都有这样的经历,在捕获需求时,根据客户的阐述,做了记录,然后开发出了系统,客户却说很多地方不符合他们的意思,要求修改。 我们分析一下捕获需求过程中存在的问题。——客户很可能对软件方面的知识知之甚原创 2010-03-09 14:19:00 · 534 阅读 · 0 评论 -
需求分析的作用及如何进行需求分析
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。 需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与原创 2010-03-09 14:37:00 · 4402 阅读 · 0 评论 -
去年一个百万级的小软件项目经验分享,20来个功能模块,项目不太好做有些棘手
别人总觉得是在显吧,干脆把这个项目认为是小项目了,不知道把这个项目是小了,别人会不会又觉得又显吧了?说大也不行、说小也不行,也的确没招了。 我想主要把项目里遇到的问题分享给大家一起探讨,也并不是为了什么显吧什么的,希望大家用一个正确的心态阅读此文章,希望有更多的朋友把更大软件项目的经验分享给大家,让大家知道一下,大型软件项目里都会遇到什么问题,如何解决才好,我们平时做些什么准备工作比较好?转载 2010-04-12 10:39:00 · 690 阅读 · 0 评论 -
web高性能开发系列随笔 (转)
http://www.cnblogs.com/BearsTaR/archive/2010/05/12/web_performance.html 在BlogJava里写了一些关于高性能WEB开发的随笔,因为都是跟前端技术相关(html,http,js,css等),所以也贴到博客园来,吸收下人气。1、 HTTP服务器.2、性能测试工具推荐3、 图片篇.4、 如何加载JS,JS应该放在什么转载 2010-05-12 18:03:00 · 468 阅读 · 0 评论 -
.NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则(转)
原著名称《.NET Application Architecture Guide,2nd Edition》,应该可以从微软的官网下载到,是微软的模式与实践小组的大作。Patterns & Practices在http://www.codeplex.com/上面有很多的好作品,其实.NET平台也有很好的开源项目,也有很广的选择面,只是这些不像java那么开放,.NET的开源是微软主导的。 下转载 2010-05-20 10:50:00 · 473 阅读 · 0 评论 -
非功能性需求
一、简介非功能需求是产品必须具备的品质或者它将事情做到了多好,它们可以让产品有吸引力、易于使用、快速、可靠或者安全。比如可以利用非功能性需求来指定响应时间,或计算时达到的精确度、产品必须具有的某种特定外观、能被无法阅读的人士使用、遵守使用这类业务的法律。这些属性的存在并不是因为它们是产品的基本活动,而是因为客户希望这些功能性活动以某种方式执行,并达到特定的品质。非功能需求通常并不改变产品的功能。一原创 2010-03-09 18:13:00 · 2213 阅读 · 0 评论 -
软件项目开发过程中应编写的十三类文档
在软件项目开发过程中,应该按软件开发要求撰写十三类文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性! 1、可行性分析报告 说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 2、项目开发计划 为软件项目实施方案制订出具体计划,应该包括各部分工原创 2010-03-09 14:40:00 · 1154 阅读 · 0 评论 -
类与类之间的关系图(Class Diagram,UML图)
一、简介二、类的构成三、类之间的关系(Relationship)1、单向关联2、双向关联3、自身关联4、多维关联(N-ary Association)5、泛化(Generalization)6、依赖(Dependency)7、聚合(Aggregation)8、组合(Composite)四、总结一、简介类是对象的集合,展示了对象的结构以及与系原创 2009-12-07 14:03:00 · 763 阅读 · 0 评论 -
设计阶段如何画用例视图(Use-Case View)
一、概述二、术语解释1、Extends 用例扩展关系2、Include 用例包含关系3、角色(Actor)三、如何画Use Case 用例视图1、新建工程2、新建Use Case View 用例视图3、根据业务需求画Use Case视图四、Use Case 在实际项目中的组织结构 五、总结 一、概述用例试图描概括了用例中角色和系统之间的原创 2009-12-07 14:04:00 · 651 阅读 · 0 评论 -
软件生命周期模型概述及使用准则
http://blog.youkuaiyun.com/tomfshao/archive/2009/07/24/4378299.aspx 1. 概述在做过程改进的几年中发现软件项目的失败都是由于没有选好作业模式,也就是没有选择出合适的生命周期模型来执行项目。正确的选择生命周期模型是软件开发成功的第一部。下面是几个常用的生命周期模型的介绍,以及他们的使用准则。2. 瀑布模型有时也称为V原创 2010-02-10 11:31:00 · 659 阅读 · 0 评论 -
什么是:黑盒测试 白盒测试 静态测试?
单元测试 -- 看源代码 分析程式内部逻辑结构集成测试 -- 对设计的检测系统测试 -- 测试功能交接测试 -- 即确认测试 测试是否符合用户需求 黑盒测试法:一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测原创 2010-02-10 11:38:00 · 1010 阅读 · 0 评论 -
软件分析与设计推导过程5-系统设计
4 系统设计阶段4.1 划分子系统这一过程理论上是属于需求分析阶段,当用例越积越多时,就已经有必要对用例进行整理与分类,将功能相尽或者相关度较高的用例归入一个比较大一点的类里,从而形成组件,再继续归类,从而形成子系统。当然这一步,也可以放到设计阶段来完成。所以将这一部分的内容写到了这里。如果需求阶段已经划分了子系统,在设计阶段直接继承,如果没有,则需在设计阶段的第一环节划分出原创 2009-12-13 13:33:00 · 912 阅读 · 0 评论 -
软件设计过程中常用的几种图(一)
软件设计过程中常用的几种图(一) 我们在软件开发的过程中无论是使用瀑布模式还是敏捷模式开发,都会有软件设计这个阶段,只不过是设计的范围不同而已,下面我就先简单介绍几个常用的图,下面的图有的是我画的,有的是从google来的,希望大家不要介意,本文的目的在于总结设计阶段所需要的图。1、E-R图--实体联系图 (Entity-Relationship )E-R图为实体-联系图,提供原创 2010-03-06 19:57:00 · 1972 阅读 · 0 评论 -
开发模式的思考 (转)
对近几年来软件开发模式的思考,欢迎各位高手多提宝贵意见。 按照软件的应用层次,底层为通用平台(包括用户、权限、日志、工作流等),此平台在任何行业都适用,然后在此平台的基础上可针对不同的行业开发出特定性的组件,打包形成各种应用产品,然后提供相应的配置工具及二次开发工具,可供实施人员不用编程就可快速对客户的个性化需求进行开发,提高客户响应度及满意度,同时在此过程中进一步收集客户的建议,对行业组件原创 2010-03-08 17:28:00 · 390 阅读 · 0 评论 -
【转】面向对象设计中的经验原则
2009年5月19日 【转】面向对象设计中的经验原则 (1)所有数据都应该隐藏在所在的类的内部。(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。(3)尽量减少类的协议中的消息。(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。(5)不要把实现细节(例如放置共用代码的私有原创 2009-12-24 10:07:00 · 383 阅读 · 0 评论 -
件工程之开发流程小总结
观看本文的讨论的开发流程的时候,有两点需要注意: 首先,流程不是狭义的流程,也就是说不是单只写代码这个过程,包括了软件工程整个流程。 其次,我所讲的这个流程不见得正确,准确的说是肯定不能适用于全部软件开发项目,也就是说不是银弹,其实说起来连大部分都涵盖不了,顶多就是一部分吧。 可行性分析 这个一般都是做战略的专家来做的,他们更加有市场的前瞻性,俗话说就是看原创 2010-03-06 19:12:00 · 414 阅读 · 0 评论 -
软件设计文档国家标准-概要设计说明书
原文出自:http://www.5ixue.com/e/tool/gfen?id=422570 概要设计说明书 1引言1.1编写目的1.2背景1.3定义1.4参考资料2总体设计2.1需求规定2.2运行环境2.3基本设计概念和处理流程2.4结构2.5功能器求与程序的关系2.6人工处理过程2.7尚未问决的问题3接口设计3.1用原创 2010-03-06 19:45:00 · 2247 阅读 · 0 评论 -
软件开发模型
软件开发模型(Software Development Model) [编辑]什么是软件开发模型 软件开发模型是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。 [编辑]软件开发模型简介原创 2010-03-08 16:36:00 · 416 阅读 · 0 评论 -
软件开发过程简述
软件产品的组成客户的需求 产品的说明书 进度表 软件的设计文档及测试文档设计文档:构架,数据流示意图,状态示意图、UML图、注释代码测试文档:测试计划,测试用例,缺陷报告,测试总结 其它(帮助文件,用户手册,安装手册,错误信息等等) 项目成员公司老板 项目经理、测试经理 设计师、系统工程师 程序员、开发人员、美工 测试人员、QA原创 2010-03-08 17:18:00 · 772 阅读 · 0 评论 -
软件测试简述
一、软件测试简述什么是软件测试软件测试:在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试。 软件测试的目的测试是程序的执行过程,目的在于发现软件的缺陷。 什么是软件缺陷符合软件缺陷有5个规则:软件未达到产品说明书表明的功能例如计算器,输入两个数,按下(+)键,结果毫无反应,这就是第一条规则。 软件出现了产品说明书指原创 2010-03-08 17:19:00 · 637 阅读 · 0 评论 -
从程序员到软件设计师
前言:软件产业发展到今天,分工越来越细。程序员做为一个通用的称谓已经无法确切定义各种工作的特点和分类。正因为软件开发中各种职责区分不清,无论是刚刚写代码的新手还是具有多年经验的老手,一概被扣上程序员的通用名称,这也使得很多进入这个领域的软件开发人员无法制定自己未来的技术职业发展之路。实际上,软件公司也逐渐认识到了对程序员分类的重要性,开始将各种职位定义的更加准确。对于从事软件开发的程序员来说,更需原创 2010-03-09 10:35:00 · 841 阅读 · 0 评论 -
如何成为优秀软件设计师
1、人比技术重要; 2、理解要实现的东西; 3、要谦虚; 4、理解用户需求; 5、需求很少改变,改变的是对需求的理解; 6、保持阅读的好习惯; 7、降低软件耦合度; 8、提高软件内聚性; 9、考虑软件可移植性; 10、接受变化,**不变的是变化; 11、不要低估对软件规模的需求,要假定软件的用户在几百万以上; 12、设计软件应考虑性能、可靠性、可用性、便携性以及可扩展性,而不 仅仅考虑性能; 13原创 2010-03-09 11:02:00 · 512 阅读 · 0 评论 -
软件设计师之职业规划
于一个软件工程师来说,我们不单单只是做技术,更应该综合发展自己。 这篇文章大家可以参考一下。平时多注意积累其他方面的知识,这样在自己不做技术的时候还可以做别的。机会总是留给有准备的人! 好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特原创 2010-03-09 11:20:00 · 668 阅读 · 0 评论 -
需求编写十佳经验
需求表述不善可带来毁灭性影响,其所引发的多米诺效应可导致耗时返工、延期交付及预算超支,严重的还可造成业务违规甚至人员伤亡。 近年来,随着ISO9000、CMM/CMMI、六西格码等国际标准逐步引入中国,“需求管理”正成为中国当前工程应用和商业热域的热点。目前,有关需求管理的实践大量应用于软件开发工程等领域,软件开发团队在开始一个新的项目之前,会通过详细的用户需求调研准确捕获了用户需求并汇总原创 2010-03-09 14:33:00 · 431 阅读 · 0 评论 -
从软件生命周期说项目经理工作职责与流程 (转)
<br />一、需求分析<br /> 需求分析是对用户的业务活动进行分析,确定系统的目的、范围、定义和功能,明确在用户的业务环境中软件系统应该"做什么"。只有在确定了客户需求后,知道要“做什么”,才能够分析和寻求系统的解决方法,开展后续的工作,所以需求分析是软件工程中的一个关键过程。<br /> 这一步骤 要产生用户需求说明书,这个说明书既是给用户看的也是给开发人员看的,可以让用户更加确定自己的需求,让开发人员了解用户的需求。可以在需求说明说中包含业务流程图,来描述项目的业务流程。<br />二转载 2010-06-03 15:12:00 · 709 阅读 · 0 评论