导航:首页 > 工程技术 > 软件工程需求不明确问题

软件工程需求不明确问题

发布时间:2021-08-15 18:53:12

A. 软件工程问题定义,什么是软件工程它可以解决什么问题

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、
技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够
得到的最好的技术方法结合起来,这就是软件工程。
软件工程(SoftWare
Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

B. 关于软件工程师的市场需求问题

.NET现在可以看成微软的一个品牌。微软有两个非常成功的品牌,那就是Windows和Office。.NET会成为微软的另一个品牌。它不仅仅是一组技术,产品,或服务(微软的服务包括MSN, Passport, MSDN订阅,等等)。一个品牌具有一些特征。比如,Rolex是一个手表品牌,它代表了高质量,时尚,昂贵,成功,等等。那么.NET代表了什么呢?

.NET代表着联通性,敏捷性,和成功。让我分别对这几点来解释一下。

1、联通性。.NET的远景是让所有的事物都连接起来。不管是人,信息,系统,还是设备;不管是一个企业的内部员工,外部合作伙伴,还是客户;不管是Unix, Windows, 还是 Mainframe;不管是SAP, Siebel, 还是 Oracle ERP套件;不管是桌面PC,手机,还是手表。在一个异构的IT环境里,.NET技术能够将不同的系统连接起来。

2、敏捷性。商务敏捷性和IT敏捷性。面向服务的商务体系结构跟面向服务的IT体系结构很好的配合在一起。SOA (Service-Oriented Architecture)能够给一个企业带来IT敏捷性和商务敏捷性。.NET技术是基于SOA思想和原则设计的,并且采用了像XML和Web Services这些支持应用整合和系统互操作的开放标准。这样,采用.NET技术开发应用,能够带来灵活性和敏捷性。.NET是一个非常合适的技术平台来创建支持SOA体系结构的IT系统并通过这些系统的开发和部署运行达到IT和商务的敏捷性。

3、成功。GE的前主席Jack Welch曾经说过一句话,“在GE,我们只有两个竞争优势:第一,比竞争对手更快的洞悉更多有关客户的信息的能力;第二,比竞争对手更快的将这种理解转化为行动的能力。”最终,IT都是为业务服务的。敏捷带来商务上的成功。.NET可以帮您创建一个敏捷的系统,既容易去洞悉市场,作出战略上的调整,也容易将新的计划付之实行。

这些听上去像是在做市场宣传。但事实确是如此。其它的IT厂商也在谈论这些东西:XML, Web Services, SOA, 敏捷性,联通性,等等。他们可能会使用不同名词,但这些名词后面的含意应该都是非常相似的。

所以你可以发现一个有趣的现象,所有IT厂商都支持同样一组开放标准,即XML和Web Services,我们都认可企业应该做SOA,我们都认为敏捷性非常重要。那这些IT厂商之间有什么不同呢?不同之处就在各自的技术实现上。XML, Web Services, 和SOA只是技术规范和技术理念,需要采用一种技术平台才在应用系统中实现这些技术规范和技术理念。各个IT厂商的技术平台有很大的不同。

.NET就是微软的用来实现XML,Web Services, SOA和敏捷性的技术。

对技术人员,想真正了解什么是.NET,必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要XML, Web Services 和 SOA。

技术人员一般将微软看成一个平台厂商。微软通过技术平台,而技术人员在这个技术平台之上创建应用系统。从这个角度,.NET也可以如下来定义:

.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。

从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时 Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。

微软.NET技术包括哪些东西?核心的东西当然是.NET Framework。 Visual Studio.NET 2002和Visual Studio.NET 2003是创建.NET应用的集成开发环境。Visual Studio For Office (VSTO)可以用来创建基于Word和Excel等文档的.NET解决方案。Web Service Extensions (WSE)是一组支持高级Web Services 标准的.NET类,这些标准包括WS-Security, WS-Policy, WS-ReliableMessaging 和 WS-Attachments,等等。Enterprise Library是一组支持企业级.NET应用程序开发的可重用的应用程序模块,它提供了应用程序开发中需要解决的共性的问题,比如配置管理,数据访问,异常处理,日志管理,等等。

.NET仅仅是跟Web Services相关吗?当然不是。它是微软的新一代技术平台,你可以在这个平台上面创建任何类型的应用系统:传统的Windows桌面应用,Web应用,Office 应用,移动应用,智能设备应用,等等。在一个Pocket PC (Phone Edition)上面,你可以使用.NET Compact Framework (.NET Framework在设备上的一个简化版)创建一个.NET客户端应用程序。或者你可以开发一个.NET移动Web应用,部署在一个IIS Web 服务器上面,然后用户就可以使用Pocket PC (Phone Edition)上面的Internet Explorer 浏览器去访问这个网站,这个网站的页面都是专门为这种设备的小屏幕设计的。

C. 求解软件工程方面问题:怎么样理解需求分析,请从需求分析的本质,和需求分析的过程两方面回答!

需求分析目标就是让软件做成用户真正想要的东西。作为业务和技术的纽带,确认一个项目或者产品的目标、范围、功能、要求、约束等内容。
需求分析的过程包括,需求初期调研、原型制作、需求规格编写、需求确认(与用户)、代表用户确认设计方案、确认最终实现等。

D. 软件工程:怎样消除项目组成员对需求与项目文档理解的不一致

对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个
小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,
正是软件开发成功的关键所在。
---经理:“我们要建立一套完整的商业管理软件系统,
包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询
门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。”

---分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。”

---经理觉得奇怪:“我不是刚告诉你我的需求了吗?”

--
-分析员:“实际上,您只说明了整个项目的概念和目标。这些高层次的业务需求不足以提供开发的内容和时间。我需要与实际将要使用系统的业务人员进行讨
论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。”

---经理:“业务人员都在招商。他们非常忙,没有时间与你们详细讨论各种细节。你能不能说明一下你们现有的系统?”

---
分析员尽量解释从用户处收集需求的合理性:“如果我们只是凭空猜想用户的要求,结果不会令人满意。我们只是软件开发人员,而不是采购专家、营运专家或
是财务专家,我们并不真正明白您这个企业内部运营需要做些什么。我曾经尝试过,未真正明白这些问题就开始编码,结果没有人对产品满意。”

---经理坚持道:“行了,行了,我们没有那么多的时间。让我来告诉您我们的需求。实际上我也很忙。请马上开始开发,并随时将你们的进展情况告诉我。”

---风险躲在需求的迷雾之后

-
--以上我们看到的是某客户项目经理与系统开发小组的分析人员讨论业务需求。在项目开发中,所有的项目风险承担者都对需求分析阶段备感兴趣。这里所指
的风险承担者包括客户方面的项目负责人和用户,开发方面的需求分析人员和项目管理者。这部分工作做得到位,能开发出很优秀的软件产品,同时也会令客户满
意。若处理不好,则会导致误解、挫折、障碍以及潜在的质量和业务价值上的威胁。因此可见——需求分析奠定了软件工程和项目管理的基础。

---拨开需求分析的迷雾

---像这样的对话经常出现在软件开发的过程中。客户项目经理的需求对分析人员来讲,像“雾里看花”般模糊并令开发者感到困惑。那么,我们就拨开雾影,分析一下需求的具体内容:

---·业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。

---·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。

---·功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。

---·非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。

---·需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。

---前面提到的客户项目经理通常阐明产品的高层次概念和主要业务内容,为后继工作建立了一个指导性的框架。其他任何说明都应遵循“业务需求”的规定,然而“业务需求”并不能为开发人员提供开发所需的许多细节说明。

---下一层次需求——用户需求,必须从使用产品的用户处收集。因此,这些用户构成了另一种软件客户,他们清楚要使用该产品完成什么任务和一些非功能性的特性需求。例如:程序的易用性、健壮性和可靠性,而这些特性将会使用户很好地接受具有该特点的软件产品。

E. 大家帮帮忙,我求一个软件工程的问题定义和需求分析的文档,

晕死......那么难怎么会有人懂呢?我看我是帮不上忙了哈!不过我刚才从网站上复制了一些,你看看吧?
需求获取
1用户的权利与义务
2制定调研计划
3准备调研的资料
4访谈用户
填写调研表(那本书里有很好的例子)
5编写调研报告
6需求的其他来源
7需求分析
8编写需求文档
比如数据流程,软件结构,数据字典等
9需求管理

开发背景,客户需求,开发工具,项目细节
开发环境,开发语言,还有你的开发流程等等
你自己看看吧?我想你用一个金山快译也许能帮上忙?试试吧?

F. 软件工程 测试应考虑的问题有哪些

所有的测试都是基于需求的!因此,最主要的还是得详细的了解需求。
当然,软件工程测试时需要考虑的问题包括:
1、需求是否是正确的,易于理解的,确保项目所有的人员对需求有一个正确的、一致的理解。
2、软件设计时,需要考虑到软件、硬件的各种不同的情况。我看您这个问题是在硬件类别的,特别需要考虑到硬件的兼容性、硬件的特殊功能测试等。
3、测试时,需要考虑到功能、性能、可用性、可靠性、稳定性等多个方面。当然,这个是得分阶段的,可能一开始不会考虑这么多,但是还是最好一开始就能够全部考虑进行。从整体上着手,这样规划出来会比较详细,也更能从测试方面来保证软件的质量。

G. 在软件工程的各环节中,最容易出现缺陷的环节是什么

软件工程及时,最容易出错的还是在前期,特别是在概要设计和详细设计里面,因为如果和用户的需求背离太多,那么到后期进行修改的过程中就会非常的费事,希望可以帮到你

H. 软件工程开发过程中应注意的问题

需求调研分析、概要设计、详细设计、编码、测试、软件交付准备、验收

与软件工程需求不明确问题相关的资料

热点内容
苏州假山景观设计工程 浏览:862
哈尔滨工程造价招聘 浏览:937
建筑工程土建劳务分包 浏览:632
道路监理工程师 浏览:476
安徽工程大学机电学院在本校吗 浏览:370
河北工程大学保研率多少 浏览:287
有学质量工程师的书吗 浏览:479
康乐县建筑工程公司 浏览:569
助理工程师二级 浏览:872
注册安全工程师初级考试时间 浏览:901
食品科学与工程专业课题研究 浏览:881
工程造价图纸建模 浏览:888
辽宁恒润建设工程有限公司 浏览:93
实行施工总承包的工程项目 浏览:737
道路桥梁工程技术兴趣爱好 浏览:316
密歇根理工大学电气工程专业 浏览:388
广西交通工程质量监督站 浏览:31
四川大学材料科学与工程学院考研参考书目 浏览:858
有线电视工程建设管理条例 浏览:270
云南工程监理公司排名 浏览:673