软件设计与体系结构 1-1-软件设计是实现软件价值的核心_第1页
软件设计与体系结构 1-1-软件设计是实现软件价值的核心_第2页
软件设计与体系结构 1-1-软件设计是实现软件价值的核心_第3页
软件设计与体系结构 1-1-软件设计是实现软件价值的核心_第4页
软件设计与体系结构 1-1-软件设计是实现软件价值的核心_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件设计,是实现软件价值的核心1交流提要■

从工程视角看IT■

新入职者—编码,是实现的工具■

提升创新能力—学会分析与设计■

对未来入职者的要求—思考&创新能力

2

□软件系统与建筑结构的异同

□软件的开发过程与建筑的开发过程

□软件开发与房屋建造是一样的思路✍软件开发,与房屋建造的不同之处:

更加抽象,所以就更需要进行分析和设计

建筑设计图软件设计图(业务分析)■从工程视角看IT3交流提要■

从工程视角看IT■

新入职者—编码,是实现的工具■

提升创新能力—学会分析与设计■

对未来入职者的要求—思考&创新能力

4新入职者—定位与能力计算机专业的毕业生会编码,但不清楚软件的需求与设计方法学校培养的计算机专业的学生,是程序员、还是工程师?✍程序员与工程师随着时间的推移,1年、3年、5年、7年,纯粹编码的热情就低了,面临转行,原因何在?你是把编码当做实现你脑中的创新构想的工具,还是将编码看成是你的终身职业?5■新入职者—定位与能力二、非计算机专业毕业生

□信息管理、自动化专业,有很多到软件企业从事需求分析、企业信息中心等

□从事软件的需求咨询、分析,需要有一定的实战知识和能力

□有信息管理的知识,但缺乏将知识与实际工作进行关联的方法和工具✍需求分析师的来源

□企业的专业人员、非计算机专业毕业生、程序员

□共同的目的

□各自的长处、共同的弱点6交流提要■

从工程视角看IT■

新入职者—定位与能力■

提升创新能力—学会分析与设计■

对未来入职者的要求—思考&创新能力

7一、为什么必须要掌握分析与设计的能力直接用编码实现,只能做小事,因为小事可以只凭大脑的想象就可以搞定,但是大型、复杂的对象必须要通过分析、设计才能够搞定

✍半天可以搞定!

一个晚上就可以搞定、三天开发出一个软件…

小应用,没有太多的逻辑是可以的

✍业务与管理的区分

管理信息与信息系统毕业的学生从事企业管理类系统的需求调研和分析,

但是分不清楚企业活动中哪些行为是业务、哪些是管理完成的系统,业

务与管理高度耦合,难以快速相应企业的需求变化。■提升创新能力—学会分析与设计81.需求分析与软件设计为什么那么重要呢?2.在编码之前,分析与设计做了哪些工作呢?3.分析与设计的能力是一体的(在其他行业,通常不会讲需求分析单独设为一个分支)✍调研完成的软件价值不高主要是谁的责任:

需求岗(分析与设计)or开发岗(编码)架构③功能数据⑤编码①客户原始需求②目标需求业务需求功能需求组件机制④需求调研&分析业务&应用设计技术设计开发实现需求规格说明书业务&应用设计规格书技术设计规格书■提升创新能力—学会分析与设计9需求分析与软件设计的过程分析与设计的对象:架构、功能、数据进行需求分析和软件设计之后,再进行编码,会是什么感觉呢?(有一种“掌控”的感觉)分析与设计成果→思考逻辑的过程;小程序代码→思考结果的表达工程分解工作分解

…4.详细设计3.概要设计5.应用设计架构规划功能规划需求工程架构详细架构机制数据规划数据详细数据机制①架构层②功能层③数据层2.需求分析1.需求调研需求访谈业务需求功能需求即存表单目标需求现状构成设计工程业务设计部分应用设计部分技术设计部分

…功能详细功能机制编码测试实现工程大家要理解:1.需求分析与软件设计,是完成系统的重要组成部分,是一名合规的软件工程师必备的知识和技能。2.完成一栋建筑,“建筑设计师”和“施工工程师”同样重要”■提升创新能力—学会分析与设计101)架构层是对业务优化后的成果表达,业务优化成果直接为客户带来成本下降、效率提升、效益的收获等。

因此架构层的成果是客户投资的直接目的之一。2)数据层数据是企业资产,数据的积累和有效利用(统计、分析、挖掘)会为客户提供解决问题、找到商机的启示。

□因此数据层的成果是客户投资的直接目的之一。3)功能层组成架构的要素,功能可以形成架构,记录、查询数据,功能是客户间接投资的目的。

□最终的客户价值是体现在架构和数据上的,功能是产生上述价值的工具(没有这个工具无法产生价值)。活动1活动2数据库①架构层②功能层③数据层业务流程活动X操作界面a.三分层的关系1.架构3.数据2.功能架构图功能图数据图DBb.三分层的价值关系直接价值间接价值■提升创新能力—学会分析与设计的对象11帮助学生建立“系统”的概念

□不但要理解“点”

□还要知道“线”、“面”、“体”

□具有空间的概念

□现实中的系统的构成越来越复杂,只能进行简单的点、线思维的学生难以应对■提升创新能力—学会分析与设计的对象:系统12交流提要1.从工程视角看IT2.新入职者—定位与能力3.提升创新能力—学会分析与设计4.对未来入职者的要求—思考&创新能力

134.对未来入职者的要求—思考&创新能力1)

我是程序员,为什么要学习需求分析和软件设计呢?□只会编码,知其然不知其所以然,

□如果掌握需求分析和软件设计的前提下进行编码,则可以做到“知其然,也知其所以然”✍

掌握分析与设计能力,入职工资提升30%

2)3年必须要上一个台阶

□进入企业之后,要确保每3年有一个质的变化和提升(经过了两个3年后没有变化,说明已到了天花板)

□确保你可以走入高端,否则你就会长期处于将编码作为唯一的存在价值

□架构师(=设计师),是每一个程序员追求的最高目标

144.对未来入职者的要求—思考&创新能力2)

非计算机专业

□未来在软件公司、企业信息中心,从事咨询、需求分析、设计等职业

□掌握了需求分析和软件设计的基本理论和方法,在进入企业后就获得了一定的实战能力

✍进入到企业信息中心,如何从辅助部门走到企业的“C位”

必须要能够理解、分析、构建企业的核心业务151.软件的设计包括了业务设计、应用设计和技术设计。2.好的软件首先是要有好的设计,客户价值是设计出来的3.设计的优劣,决定了软件的最高价值;

编码的优劣,实现决定了软件的最低价值。工程分解工作分解

…4.详细设计3.概要设计5.应用设计架构规划功能规划需求工程架构详细架构机制数据规划数据详细数据机制①架构层②功能层③数据层2.需求分析1.需求调研需求访谈业务需求功能需求即存表单目标需求现状构成设计工程业务设计部分应用设计部分技术设计部分

…功能详细功能机制编码测试实现工程决定了软件的最大客户价值建造设计师——建筑的最高价值汽车设计师——汽车的最高价值服装设计师——服装的最高价值…设计师——…的最高价值软件设计师——软件的最高价值■对未来入职者的要求—思考&创新能力16

企业,希望未来新入职者,能够在学校期间就接受过一些思考方法、表达方法(非编码)的教育,这样的学生理解能力强、接受新鲜事物快、相对短的时间内就可以独立工作、担当重要的岗位、开发复杂的系统。

而没有接受这样训练的学生,则比较难以改变思维方式,二者在比较短的时间内就会发生职业发展方向的不同,能力水平的差异会越来越大。在学校就培养学生的分析和设计意识、以及一定的实战能力,将会对学生未来的职业生涯走向带来非常积极的影响!

这也是避免学生日后成为“码农”的重要措施。■思考能力

□学会思考,分析手法

□学会表达,设计方法■创新能力

□可以面对任何新的研究对象

□不会依赖于别人,自己可以给出答案■目标达成

□达到目的后的成就感4.对未来入职者的要求—思考&创新能力观看:挖掘真正的学习价值所在17课程目标及考核18课程目标:

假定1:

毕业后从事软件开发和相关行业

不仅仅满足编码、希望获得职业生涯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论