为什么软件项目需要建模
A. 软件开发过程中为什么需要可视化,多视点的建模语言
UML建模分为需求建模和设计建模,需求建模的目的是确定系统边界并明确系统需要实现的功能。而设计建模主要目的是用于开发团队中的设计思想交流;以及后续程序设计的依据;后续测试和验收程序的依据。
UML的特点是可视化的图形建模,表达能力强;支持面向对象开发;对各个开发阶段统一设计规范和标准;易学易用。
B. 为什么要使用软件开发模型
软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。
(2)为什么软件项目需要建模扩展阅读
软件开发模型基本目标
1、开发尽可能多的软件产品,满足社会对软件全方位、不同应用领域的应用需求,是软件工程的首要目标。
2、提高软件的生产效率。由于软件产品的特殊性使得如何提高软件产品的生产效率成了迫切需要解决的难题。为此,人们从各个方面研究、探讨软件产品生产的内在规律,包括生产过程的管理、组织形式、开发工具、程序设计方法等,试图找出比较满意的求解方案。
3、满足应用的功能需要。这里包括几层意思:产品功能强、性能好、按期交付使用、易于用户操作和维护。
4、降低软件开发成本,包括降低软件设计成本和软件维护成本,而软件维护成本比开发成本要大得多。因此,提高软件可维护性是降低软件开发成本的有效途径。
C. 在面向对象软件的开发和设计中,为什么要使用UML建模
uml是面向对象的分析设计方法,dfd是面向数据流的设计方法。当然uml功能强,表述容易清晰,对将来采用面向对象的实现会省很多力气。
uml是面向对象分析方法的表达工具,涉及的图包括用例图,活动图,类图,时序图,协作图,状态图等等;可以涵盖从需求分析到设计,编码整个开发过程用到的模型。
dfd是面向过程分析方法的表达工具,功能大概等价于用例图,活动图,加上e-r模型,可以涵盖面向过程分析(业务建模,概念建模)中所用到的模型。
D. 什么是软件建模
软件建模即软件分析建模,软件分析建模体现了软件设计的思想,在系统需求和系统实现之间架起了一座桥梁。软件工程师按照设计人员建立的模型,开发出符合设计目标的软件系统,而且软件的维护,改进也基于软件分析模型。
随着软件工程理论研究的深入和软件技术的不断发展,软件分析建模也日益完善。尽管不同的软件分析建模平台的建模工作存在差异,但大体可以把软件分析建模分成3类,即业务建模、数据建模和应用程序建模。
E. 为什么要用UML建模之建模的重要性
从制定一点初步计划到完成一个满足适当功能的狗窝,可能不用别人帮助,在几个小时内就能够实现。只要狗窝够大且不太漏水,狗就可以安居。假如未能达到希望的效果,返工总是可以的,无非是让狗受点委屈。
假如想为家庭建造一所房子,备好木料、钉子和一些基本工具之后,也能开始工作,但这将需要较长的时间,并且家庭对于房子的需求肯定比狗对于狗窝的需求要多。在这种情况下,除非曾经多次建造过房子,否则就需要事先制定出一些具体的计划,再开始动工,才能够成功。至少应该绘制一些表明房子是什么样子的简图。假如想建造一所能满足家庭的需要并符合当地建筑规范的合格房屋,就需要画一些建筑图,以便能想清楚房间的使用目的以及照明、取暖和水管装置的实际细节问题。做出这些计划后,就能对这项工作所需的时间和物料做出合理的估计。尽管自己也可能建造出这样的房屋,但若有其他人协作,并将工程中的许多要害部分转包出去或购买预制的材料,效率就会高得多。只要按计划行事,不超出时间和财务的预算,家庭多半会对这新房感到满足。假如不制定计划,新房就不会完全令人满足。因此,最好在早期就制定计划,并谨慎地处理好所发生的变化。
假如你要建造一座高层办公大厦,若还是先备好木料、钉子和一些基本工具就开始工作,那将是非常愚蠢的。因为你所使用的资金可能是别人的,他们会对建筑物的规模、外形和风格做出要求。同时,他们经常会改变想法,甚至是在工程已经开工之后。由于失败的代价太高了,因此必须要做详尽的计划。负责建筑物设计和施工的是一个庞大的组织机构,你只是其中的一部分。这个组织将需要各种各样的设计图和模型,以供各方相互沟通。只要得到了合适的人员和工具,并对把建筑概念转换为实际建筑的过程进行积极的治理,将会建成这座满足使用要求的大厦。假如想继续从事建筑工作,那么一定要在使用要求和实际的建筑技术之间做好平衡,并且处理好建筑团队成员们的休息问题,既不能把他们置于风险之中,也不能驱使他们过分辛劳地工作以至于精疲力尽。
希奇的是,很多软件开发组织开始想建造一座大厦式的软件,而在动手处理时却似乎他们正在仓促地造一个狗窝。
有时你是幸运的。假如在恰当的时间有足够的合适人员,并且其他一切事情都很如意,你的团队有可能(仅是可能)推出一个令用户眼花缭乱的软件产品。然而,一般的情况下,不可能所有人员都合适(合适的人员经常供不应求),时间并不总是恰当的(昨天总是更好),其他的事情也并不尽如人意(经常由不得自己)。现在对软件开发的要求正在日益增加,而开发团队却还是经常单纯地依靠他们唯一真正知道如何做好的一件事——编写程序代码。英雄式的编程工作成为这一行业的传奇,人们似乎经常认为更努力地工作是面对开发中出现的各种危机的正常反应。然而,这未必能产生正确的程序代码,而且一些项目是非常巨大的,无论怎样延长工作时间,也不足以完成所需的工作。
假如真正想建造一个相当于房子或大厦类的软件系统,问题可不是仅仅编写许多软件。事实上,要害是要编出正确的软件,并考虑如何少写软件。要生产合格的软件就要有一套关于体系结构、过程和工具的规范。即使如此,很多项目开始看起来像狗窝,但随后发展得像大厦,原因很简单,它们是自己成就的牺牲品。假如对体系结构、过程或工具的规范没有作任何考虑,总有一天狗窝会膨胀成大厦,并会由于其自身的重量而倒塌。狗窝的倒塌可能使你的狗恼怒;同理,不成功的大厦则将对大厦的租户造成严重的影响。
不成功的软件项目失败的原因各不相同,而所有成功的项目在很多方面都是相似的。成功的软件组织有很多成功的因素,其中共同的一点就是对建模的采用。
建模是一项经过检验并被广为接受的工程技术。建立房屋和大厦的建筑模型,能帮助用户得到实际建筑物的印象,甚至可以建立数学模型来分析大风或地震对建筑物造成的影响。
建模不只适用于建筑业。假如不首先构造模型(从计算机模型到物理风洞模型,再到与实物大小一样的原型),就装配新型的飞机或汽车,那简直是难以想象的。新型的电气设备(从微处理器到电话交换系统)需要一定程度的建模,以便更好地理解系统并与他人交流思想。在电影业,情节串联板是产品的核心,这也是建模的一种形式。在社会学、经济学和商业治理领域也需要建模,以证实人们?的理论或用最小限度的风险和代价试验新的理论。
模型是对现实的简化。
模型提供了系统的蓝图。模型既可以包括具体的计划,也可以包括从很高的层次考虑系统的总体计划。一个好的模型包括那些有广泛影响的主要元素,而忽略那些与给定的抽象水平不相关的次要元素。每个系统都可以从不同的方面用不同的模型来描述,因而每个模型都是一个在语义上闭合的系统抽象。模型可以是结构性的,强调系统的组织。它也可以是行为性的,强调系统的动态方面。
建模是为了能够更好地理解正在开发的系统。
通过建模,要达到4个目的:
(1)模型有助于按照实际情况或按照所需要的样式对系统进行可视化。
(2)模型能够规约系统的结构或行为。
(3)模型给出了指导构造系统的模板。
建模并不只是针对大的系统。甚至像狗窝那样的软件也能从一些建模中受益。然而,可以明确地讲,系统越大、越复杂,建模的重要性就越大,一个很简单的原因是:
因为不能完整地理解一个复杂的系统,所以要对它建模。
人对复杂问题的理解能力是有限的。通过建模,缩小所研究问题的范围,一次只着重研究它的一个方面,这就是Edsger Dijkstra几年前讲的“分而治之”的基本方法,即把一个困难问题划分成一系列能够解决的小问题;解决了这些小问题也就解决了这个难题。此外,通过建模可以增强人的智力。一个适当选择的模型可以使建模人员在较高的抽象层次上工作。
任何情况下都应该建模的说法并没有落到实处。事实上,一些研究指出,大多数软件组织没有做正规的建模,即使做了也很少。按项目的复杂性划分一下建模的使用情况,将会发现:项目越简单,采用正规建模的就越少。
这里强调的是“正规”这个词。实际上,开发者甚至对非常简单的项目也要做一些建模工作,虽然很不正规。开发者可能在一块黑板上或一小片纸上勾画出他的想法,以对部分系统进行可视化表示,或者开发组可能使用CRC卡片描述一个场景或某种机制的设计。使用任何一种这样的模型都没有什么错。假如它能行得通,就可以使用。然而,这些非正规的模型经常是太随意了,它没有提供一种轻易让他人理解的共同语言。建筑业、电机工程业和数学建模都有通用的建模语言,在软件开发中使用一种共同的建模语言进行软件建模也能使开发组织获益匪浅。
每个项目都能从一些建模中受益。即使在一次性的软件开发中——由于可视化编程语言的支持,可以轻而易举地扔掉不适合的软件。建模也能帮助开发组更好地对系统计划进行可视化,并帮助他们正确地进行构造,使开发工作进展得更快。假如根本不建模,项目越复杂,就越有可能失败或者构造出错误的东西。所有实用系统都有一个自然趋势:随着时间的推移变得越来越复杂。虽然今天可能认为不需要建模,但随着系统的演化,终将会对这个决定感到后悔,但那时为时已晚。
F. PKPM建模的意义是什么为什么第一步是建模建模里面的柱和梁的布置(间距以及截面)是随意的还是规定的
既然你用PKPM,我估计你是结构设计的吧。结构设计需要根据建筑图纸来确定柱和梁的布置,但是截面是需要根据合理性由结构设计人员确定合理的截面。甲方提供的东西一般是提供给建筑设计人员。建模是为了把建筑的模型反映到软件里面,进行受力计算用的。
字都是我自己码的,望采纳。。。
G. 为什么虚拟现实设计中要用3DMAX建模,不用MAYA
一 跳出软件层面理解软件,我们要牵着软件的鼻子走。
关于3D建模软件有哪些,这个问题,我在下面会详细的讲解,一堆,会看的你眼疼,这个问题不着急,淡定。首先我需要讲的是跳出软件这个层面来理解软件,放大我们的格局来学习软件,只有理解了更大的层面,才能更好的去知道怎么去学软件,我们要牵着软件的鼻子走,而不是被软件牵着我们的鼻子走,知道不重要,会才重要。
二 建模软件多如牛毛,要么不学,要么就学主流,非主流一边凉快去吧。
关于3D建模软件有很多,都了解,都学没什么意义,最后只会犯选择困难症,把在社会上应用最普遍的,最主流的学会,就能很好的在3D建模这个行业混了,其他乱七八糟的可有可无的小软件,有多远就走多远吧。关于3D建模软件,我们主要需要了解的是其目前主流应用方向的软件,目前3D建模主流的应用方向是次世代游戏建模这一块,热门才有前途,一些只能喝西北风的大冷门,不在我们的讲解范围之内,没办法,就这个调调。
三 不要到处找3D建模软件视频教程了,浪费时间。
其实想要学好3D建模软件,尤其是游戏建模软件,有一套通俗易懂且全面细致的视频教程很有必要的,可以让我们在学习的过程中,少走很多的弯路,提高学习效率,很多刚开始学建模的同学,为什么一开始学就想放弃了呢?因为不知道怎么学,或者学的视频教程讲的高深莫测,听的一愣一愣的,都开始怀疑人生了,很多时候,我们很多小伙伴的建模学习历史,还没开始就已经结束了。
我作为从事3D游戏建模多年的老司机,我收集和整理了很多这方面的视频教程,并且每天晚上都会无偿的讲3D游戏建模直播课,我讲的基本上通俗易懂,充满了土鳖般的风趣,有想学这一门技术的小伙伴,可以正儿八经的来学习和搞资源了,到我的3D建模教程资料(裙),它开头的一组数字是:296,中间的一组数字是:676,结尾的数字是:289. 把以上三组数字按照先后顺序组合起来即可。想提升自己的实力,就得多交流,只有不断吸收别人的优点,才能成就自己的强大。
八 软件怎么使用具体案例讲解,有逻辑,才有行动力。
随着国内游戏市场的蓬勃发展,行业对于游戏场景建模的需求在不断的增加。一般来说凡是没有生命的物体都是由游戏场景模型制作师为其制作模型,例如游戏中的山河、城池建筑、植物等全部都在游戏场景的范畴之内。这里小编给大家整理了一些游戏场景建模师常用的软件,主要还是为新手建模师们提供一些有价值的软件参考。
(一)游戏场景建模软件的选择
建模软件:3DS Max、Maya、C4D
可使用:3DS Max。
最基础的当然就是建模软件了,常用的3款建模软件有3DS Max、Maya、C4D,但是由于Maya和C4D软件侧重方向更多的是偏向影视、动画、特效方面的,所以在此更推荐大家使用3DS Max来进行游戏场景模型建模的工作。Autodesk 3dsMax是Autodesk公司推出的大型工具软件,更加适合游戏、建筑设计、室内设计、工业设计等领域。
(二)游戏场景建模师必备展UV软件
展UV软件:建模软件自带UV系统、UVLayout、Unfold3D。
可使用:UVLayout。
在建模之后的工作就是需要展开UV了,软件自带的UV系统通常功能全面但使用的便捷性来说还是差一些的。可以使用UVLayout。
uvlayout相对于unfold3d来说有几个明显的优势:
a:选择边可以镜像.这点对复杂的生物体特别有用.几乎节省了一半的时间.而且牛b的是,他的镜像居然也是姿势对称!也就是说是对称的就可以,哪怕你的模型是个很古怪的姿势.这点和zbrush的一样.unfold3d不具备这个最大的优势.
b.在高度智能展开的同时,具备几种不同的算法.各有优点.而unfold3d只有一种.
c.提供一切基本的传统展开uv的操作.比如推拉点,局部缩放uv块.局部relax等等.而unfold3d也不具备.他的所有操作都是自动的.也不能调节uv块的大小,这点对和zbrush的协作来说是致命的.因为zb的uv象限比一般软件小一圈(zb是邪门软件)
d.可以直接渲染uv.不需要回到max里.这样.max的uvunwarp功能可以完全歇菜了.zb+uvlayout+ps可以完成渲染前期的所有工作.max只是个渲染器
(三)贴图绘制软件
绘制贴图软件:Adobe Photoshop、SubstancePainter、3DCoat、BodyPaint、Mary
推荐软件:这几款软件各自为营各有各的优势就不做推荐了,看大家的需求自行选择。
1.AdobePhotoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件。ps虽然是平面设计与绘图利器但针对于游戏设计来说,它也有其缺点,那就是无法在三维模型上绘制贴图。
2.SubstancePainter目前使用最多的PBR材质制作软件,结束了传统Photoshop绘制,max或maya查看效果,最终到引擎查看,繁琐且耗费硬件的过程,可以简单说是直接在引擎中绘制贴图,所绘既所得。
3.3DCoat是专为游戏美工设计的软件,它专注于游戏模型的细节设计,集三维模型实时纹理绘制和细节雕刻功能为一身,可以加速细节设计。我在秒秒学的教学网站上,看到PS、BodyPaint、SubstancePainter、3DCoat等软件制作的贴图教程。
4.BodyPaint是CINEMA4D绘制功能的单独模块,网游模型绘制贴图利器。Zbrush通过绘制顶点着色,转化为贴图。Mudbox是Autodesk旗下雕刻软件,除了zbrush就是Mudbox了,绘制贴图方面优于zbrush,并且图层的加入。
5.Mary为阿凡达电影制作而诞生的三维模型绘制贴图软件。
有了这些软件在游戏场景建模的时候就完全够用了,从建模、UV展开到贴图绘制整套流程的软件全部收入囊中。小编只能帮到这里了,接下来还需要靠各位自己大展身手咯。如果有更好的软件推荐也欢迎各位来提出指正。
H. 软件开发过程中为什么要建模
UML建模分为需求建模和设计建模,需求建模的目的是确定系统边界并明确系统需要实现的功能。而设计建模主要目的是用于开发团队中的设计思想交流;以及后续程序设计的依据;后续测试和验收程序的依据。
UML的特点是可视化的图形建模,表达能力强;支持面向对象开发;对各个开发阶段统一设计规范和标准;易学易用。