随笔分类 - 需求分析
摘要:第一部分:概述 1,项目名称及背景: 1.1:项目名称:MyOffice 1.2:开发背景: 追求高效率的办公方式。 为了提高现代社会人们的办公效率,满足人们自动化办公的需求,我们开发了这套稳定可靠、操作方便、安全有效的MyOffice系统,它主要包括:人事管理、日...
阅读全文
摘要:一、 面向对象,这个对象到底是什么? 这个对象不是C#中的实例,C#中我们把一个类的实例也叫做对象,这种对象严格的说应该是面向对象的编程实现(OOP)中的对象,面向对象编程,也不是面 向类的实例编程。对象的定义是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划 或事件。也有的定义为“一切都是对象”然而面向对象也不能简单的等价理解成面向任何事物编程,面对一切编程?开玩笑,呵呵。因此面向对象这个对象,指的是客体。所谓客体是指客观存在的对象实体和主观抽象的概念。二、 为什么要面向对象?面向对象是为了解决系统的可维护性,可扩展性,可重
阅读全文
摘要:介绍上一次我们聊到估算项目的时间进度!,感谢很多博友的建议。我也向我们老大咨询了一下,他给了我很多宝贵的意见。以下是我跟老大的一些交谈,希望对大家有所帮助。把握三个点以下是老大给我的建议,大家可以考虑一下。这三个点中,我们最终要完成的就是目标的完成。1、这里的资源,主要指开发人员。2、现在开发人员就我自己,我们就自然要求把时间弄长了。——这里的时间包括加班时间。3、如果开发人员也不增加,时间也不延长,那只能削减产品功能了。现在的主要问题是沟通问题,怎样才能让产品信服,愿意把时间延长呢?那我们就需要把需求罗列出来,让产品看到我们要做这么多的事情,自然就愿意给你时间了。分解需求我们都知道分解需求,
阅读全文
摘要:面向对象的开发方法(Object oriented,OO)认为是好文章吧,拿来分享一下(转载) 面向对象的开发方法(Object oriented,OO) 从事软件开发的工程师们常常有这样 的体会:在软件开发过程中,使用者会不断地提出各种更改要求,即使在软件投入使用后,也常常需要对其做出修改,在用结构化开发的程序中,这种修改往往是很 困难的,而且还会因为计划或考虑不周,不但旧错误没有得到彻底改正,又引入了新的错误;另一方面,在过去的程序开发中,代码的重用率很低,使得程序员的效 率并不高,为提高软件系统的稳定性、可修改性和可重用性,人们在实践中逐渐创造出软件工程的一种新途径――面向对象方法学。一
阅读全文
摘要:来源:http://www.biyelww.com/ 【摘要】随着面向对象研究的不断深入,面向对象技术的应用越来越广泛,面向对象的思想被应用到许多不同的领域。在介绍软件工程方法的基础上分析了面向对象的软件工程方法的分析技术、设计及软件开发方法,从而说明了面向对象技术贯穿于软件开发的全过程。 【关键词】软件工程;面向对象;软件开发 1.软件工程的定义 软件工程是指导计算机软件开发和维护的工程学科 采用工程的概念、原理、技术、方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方面结合起来.经济地开发出高质量的 软件并有效地维护它.这就是软...
阅读全文
摘要:最近接触了下面向对象分析与设计的概念,虽说书上也许是讲的比较浅显,这里暂且做做学习笔记当面对一个项目的时候,首先依然是需求分析,得到需求分析报告,接下来在面向对象分析过程中建立用例图,这一步是项目负责人员与用户共同参与, 在结构化分析设计中应该是从属于需求分析的,用例图的重要作用也就是明确整个系统大致上的功能需求,及需要面向的用户类型,类似于DFD中的顶层图。用例图建好后,基本上进入面向对象设计阶段,这一阶段主要的任务便是从动态与静态两个方面对整个系统进行勾画,建模。从静态来讲,需要的是类图,而类图的设计方式即,从需求分析报告中提取关键字,总结出可以形成类对象的实物,最好是因此记录出一个类对象
阅读全文
摘要:在IT界,人们经常会谈到“整体解决方案”。很多公司宣称可以向用户提供整体解决方案,并把它作为一个重要的发展策略公之于众。甚至有些公司将一个产品如 打印机也称为整体解决方案。解决方案是一个筐,什么都可以装?解决方案是否有评价标准?最近接受记者采访的陈晓燕女士提出了康柏对解决方案的认识,让我们 了解——解决方案是什么? 陈晓燕女士是康柏(中国)投资有限公司的技术总监,在IT界摸爬滚打了20多年。一直从事技术工作的她对解决方案的理解更透彻。在IT界,从提供单个硬件 和软件产品,到提供满足用户业务需求的整体解决方案本身就是一种进步。然而,在人们对解决方案的理解还不统一的情况下,特别是在用户对各种各样.
阅读全文
摘要:首先有用户需求,然后由组织将用户需求转化为业务需求,再由开发者将业务需求转化为功能需求,功能需求映射到系统功能模块。业务需求也有可能是基于的业务发展需要,由组织首先提出来的。业务需求(Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业 务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围(vision and scope)文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求(project charter 或 market requirement)文档。
阅读全文
摘要:对象是类的实例的意思 面向对象 面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。 它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。 它可以有不同层次的理解: 从
阅读全文
摘要:在创建一个应用软件系统前,必须进行充分的分析,即明确所要解决的问题是什么。例如,开发一个图书信息管理系统软件,这个系统要实现什么样的功能?这就是一个分析问题。设计强调的是问题的逻辑解决方案,即系统怎样才能达到要求。例如,图书信息管理系统如何实现远程查询?设计最终可以用硬件或软件方法来实现。面向对象的分析与设计的精髓是按照对象的观点考虑问题域和逻辑解决方案。分析旨在发现并描述问题域中的对象。例如,在图书馆信息系统中,这些对象包括图书、借阅者、图书管理员等。设计的重点在于定义逻辑软件对象,这些对象(具有属性和方法)最终能够用面向对象程序设计语言实现,即编写它们的类。
阅读全文
摘要:面向过程分析,就是先画业务流程图,再每一步骤的参与部门或岗位,弄清楚在这一步参与者所做的事和填写的表单的结果。打个比方,销售系统,先是消费者向销售部提出购买需求,销售部门就产生了一个销售定单,同时财务部门对这个销售定单还要做账单,然后物流部门跟所这个销售定单把东西送到消费者手里,产生送货单。这种方法数据很重要,如果是用来做一个小系统或需求比较稳定数据不经常变化的系统的话,那还可以。如果是做一个需求或数据经常变动的系统,这种方法就会有很多困难。于是出现了面向对象方法,先找人,再问人做了哪些事,做这些事需要填哪些数据?还是用销售系统做比方,先弄清楚有多少个部门,找到部门的代表,问平时都做什么,这件
阅读全文
摘要:同学们,你马上就要接受一个实际项目的考验了,你需要运用你所学,全力以赴!如果你已经忘记前面所学,赶紧去复习!这个超级演练的教学目标是:1.学习如何从零开始组织需求开发的工作。2.学习如何在需求分析中理清你的思路。3.体会什么情况下用什么UML图。4.学习需求规格说明书应该有什么内容。这是一个难得的实际锻炼机会,你将很难在一个实际项目中提到这么全面的体会。本案例经过提炼,代表了实际工作的各个方面,务必请你认真对待,开动脑筋,按照要求一步一步完成!你的任务:编写考勤系统的《需求规格说明书》你需要为你所在的公司做一个考勤管理系统,如果你目前还是名学生,则请你想象一个公司的考勤系统应该是怎样的。本系统
阅读全文
摘要:业务概念图是大家比较容易理解的说法,不少资料上提到的领域模型(Domain Model),你可以理解为业务概念模型。我们课程尽量不使用大家难懂的词汇,下面我们继续以业务概念图来表达。整理出系统的业务概念,我觉得是多个步骤中,最难也是最重要的步骤。说它难,是因为:1.并不是谁都能准确全面地识别出业务概念的。2.要准确描绘这些概念的关系就更加难。3.对这些业务概念进行提炼,是难上加难!说它重要,是因为:1.这是准确需求理解的基础。2.这是数据库设计、实体类设计的输入。在我们公司,尽管《需求规格说明书》中有“业务概念图”的章节,但很多项目经理都不能画好,很多复杂的系统只能画出非常简单的几个业务概念。
阅读全文
摘要:请按顺序回答以下问题:1.本项目的背景是怎样的?2.本项目能解决什么问题?3.本项目的关键涉众有哪些?(说明:涉众是指系统会影响到的人、角色、单位等,或者说什么人、角色、单位会影响到本系统。)4.本系统要达到怎样的目标?5.本系统的范围是怎样的?6.本系统应该具备怎样的功能?7.本项目成功标准是怎样的?在往下阅读之前,请先独立思考,写出以上问题的答案。1.本项目的背景是怎样的?参考答案:员工中午饭要吃好是很重要的事情,但手工订餐存在一些问题,领导试图通过订餐系统来改善。答案点评:1)本系统的用户是“员工”,而客户是“领导”。(说明:用户是指使用系统的人员,而客户是可以拍板付钱给公司的那个人,是
阅读全文
摘要:大部分情况下,需求分析的工作总是比较被动的,总会有点被客户牵着鼻子走的感觉,为什么会这样呢?看看下图:这个图表示了随着项目的开展,客户与项目组对本项目的需要的认知程度是怎样变化的,横轴是时间,竖轴是对需要的认知程度。这个图说明了这些问题:1)项目最开始时,客户对需要认知程度比较高,而项目组只是有朦胧的认识。2)随项目的开展,客户和项目组都逐步提高了认识。3)整个项目开展过程中,客户对需要的理解程度总是比项目组要高。以上该图反应了绝大部分项目的情况,这样的项目客户对需要的理解永远领先于项目组,这样项目就不可避免地会陷入被动的境地。项目组做出来的东西往往不是客户真正想要的,要反复多次,但做出来后,
阅读全文
摘要:你非常光荣地接受了这个任务,领导任命你为订餐系统的项目经理,你会如何展开需求分析工作呢?可能你会这样想:那还不容易,这么简单的系统,直接编码就行了,还写什么需求!伙计,不要冲动,看到这里请你先停止阅读,找张纸和笔,用你自以为合适的方式列出这个系统的需求。请写完后才继续往下看噢!不听话了?没写完就往下看?咱们先说说需求分析的一些大道理:首先我们需要明确项目的背景,我们要回答这些问题:也就是为什么会有这个项目?客户为什么想做这样的一个项目?如果没有这个项目会怎样?了解背景的基础上,我们需要进一步了解以下内容:1)本项目解决了客户的什么问题?2)本项目涉及到什么人、什么单位?3)本项目的目标是什么?
阅读全文
摘要:摘要:怎么又变了?当初就应该让客户书面签字确认!你可能会经常发这样的牢骚,可是就算客户书面确认,客户还是会“赖账”的!软件项目的其中一项不变真理:人是会死的,需求是会变的!本章将会和你一起来体验软件需求分析工作的风风雨雨,找出需求分析工作的根本之道,了解UML如何帮助我们提升需求分析的水平。作者:张传波www.umlonline.orgwww.umlonline.org/school/本文来自新书《活用UML——需求分析高手》的第二章。第一章已经在博客园发布,文章名字叫:UML一篇文章就学通文章链接:http://www.cnblogs.com/umlonline/archive/2011/0
阅读全文