软件设计学什么课程,软件设计师


软件设计学什么课程,软件设计师

文章插图
什么是软件设计呢?:
软件设计学什么课程,软件设计师

文章插图
你好,很高兴你的问题,
软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案 。
软件设计是把许多事物和问题抽象起来,并且抽象它们不同的层次和角度 。将问题或事物分解并模块化使得解决问题变得容易,分解的越细模块数量也就越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况 。
软件设计即“…the process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. ”“ … 应用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程 。”
对任意的工程产品或系统,开发阶段绝对的第一步是确定将来所要构建的制造原型或实体表现的目标构思 。这个步骤是由多方面的直觉与判断力来共同决定的 。这些方面包括构建类似模型的经验、一组引领模型发展的原则、一套启动质量评价的标准、以及重复修改直至设计最后定型的过程本身 。计算机软件设计与其他工程学科相比还处在幼年时期,仍在不断变化中,例如更新的方法、更好的算法分析、以及理解力的显著进化 。软件设计的方法论的出现也只有三十年多一点,仍然缺乏深度、适应性和定量性质,通常更多的与经典工程设计学科相联系 。尽管如此,现今的软件技术已经存在、设计质量的标准也可使用、设计符号亦可以应用 。带着这些意见,我们一起来看看什么有助于程序员们找到他们的软件涅盘 ( 天堂的意思 )。
软件设计包括软件的结构设计,数据设计,接口设计和过程设计 。
结构设计是指:定义软件系统各主要部件之间的关系 。
数据设计是指:将模型转换成数据结构的定义 。
接口设计是指:软件内部,软件和操作系统间以及软件和人之间如何通信 。
过程设计是指:系统结构部件转换成软件的过程描述 。
软件设计学什么课程,软件设计师

文章插图

什么是软件设计?:
软件设计学什么课程,软件设计师

文章插图
软件设计出现的较早 。由于早期程序变得越来越大,那么模块化程序,让不同的开发人员相互配合就形成了一个主题 。多个程序员之间要遵从一定的规范进行编程,然后相互调用,最终使用各个模块进行组合 。这种最早的形式也伴随着新的面向过程语言的出现 。
软件设计的原始目的是非常简单的,就是我们要去理解一个完成的功能,然后把不同的功能分化成细节的模块,然后使用一个团队进行协同开发 。在这个设计活动中又找出了诸多的开发方法论,同时也发现了诸多开发的模型 。进而形成一个涉及到管理、设计等方面的细化工作,形成统一的软件工程学 。同时对于软件设计也相当细化和规范 。所以现在基本上软件设计就是根据系统分师所指派的横块内进行细分,不同的方法论下,不同的开发模型下将功能块分为更细致的小模块完成更细致的功能 。
基本上来说,软件设计与程序设计被混为一谈,狭义的软件设计指就是程序设计,重点在于算法上的设计;广义上的软件设计其实就是对系统进行的设计,要考虑到将来软件的部署及要部署的硬件 。也就是说,程序员不管是在算法设计上还是程序设计上都是称自己软件设计,而系统分师也在设计整个系统也称为软件设计 。这是由于习惯的问题而出现的两种理解——系统设计师与分析师设计的是整个软件系统,涉及内容巨大,从部署到软件性能功能移植性等各个方面的考虑,其目的就是构造一个当前适用并具有一定前瞻性、扩展性的软件系统来支撑整个或大部分公司运行的系统 。他们再把系统细分为子系统以对应公司或系统中某个相对独立的系统功能 。软件设计师把自身分派到的子系统任务再进行细分,实现不同的层与模块的调用,其目的就是将理解系统进而设计为可以开发的或进行开发准备的工作;而高程与程序员则对模块功能进行分析,然后进入到开发,开发出相应的功能模块 。他们所谓的软件设计设计模块内调用层次,设计算法与程序以达到指定的功能要求或非功能要求 。

推荐阅读