Lecture2软件架构师.ppt

上传人:本田雅阁 文档编号:3482205 上传时间:2019-09-01 格式:PPT 页数:85 大小:9.34MB
返回 下载 相关 举报
Lecture2软件架构师.ppt_第1页
第1页 / 共85页
Lecture2软件架构师.ppt_第2页
第2页 / 共85页
Lecture2软件架构师.ppt_第3页
第3页 / 共85页
Lecture2软件架构师.ppt_第4页
第4页 / 共85页
Lecture2软件架构师.ppt_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《Lecture2软件架构师.ppt》由会员分享,可在线阅读,更多相关《Lecture2软件架构师.ppt(85页珍藏版)》请在三一文库上搜索。

1、软件架构 Software Architecture,中国人民大学 信息学院计算机系, 数据工程与知识工程 教育部重点实验室 朱青,第 2 章 软件架构师,企业中架构师 架构师的定义和职责 架构师的素质 工作中架构师 解决商业问题 架构师软件的核心人物,软件架构师,一个软件架构师需要有广泛的软件理论知识和相应的经验来事实和管理软件产品的高级设计。 软件架构师: 定义和设计软件的模块化,模块之间的交互, 用户界面风格,对外接口方法, 创新的设计特性,以及高层事物的对象操作、逻辑和流程。,软件架构师系统的核心,软件架构师与客户商谈概念上的事情, 与经理商谈广泛的设计问题, 与软件工程师商谈创新的结

2、构特性, 与程序员商谈实现技巧,外观和风格。 软件架构师企业的高级人才需求与培养 引用:网络ppt: 软件企业的人才需求主讲人:邱嘉文,人才在软件企业价值链中的地位,客户的业务问题或机遇。,帮助客户 实现业务价值的软件工具。,软件过程,软件企业,人才培养基地,帮助软件企业实施软件工程的人才。,软件过程是知识密集型过程,软件过程,业务领域 知识,软件工程 知识,软件企业 知识,解决方案 知识,软件企业人才/知识结构,需求开发 人员,产品服务 人员,软件客户,软件研发 人员,企业管理 人员,软件企业,业务领 域知识,解决方 案知识,企业运 营知识,软件工 程知识,软件企业的组成,需求开发人员,产品

3、服务人员,软件研发人员,企业管理人员,软件企业,软件工 程知识,业务领 域知识,企业运 营知识,解决方 案知识,软件过程,软件过程,TOONE软件过程(1999-2000),软件企业的组成,企业管理人员举例,人资管理人员,企业管理人员,行政管理人员,投资管理人员,运营监管人员,财务管理人员,产品服务人员,需求开发人员,产品服务人员,软件企业的组成,软件研发人员,企业管理人员,软件企业,软件工 程知识,业务领 域知识,企业运 营知识,解决方 案知识,软件过程,软件产品服务人员举例,产品服务人员,需求开发人员,需求开发人员,软件企业的组成,产品服务人员,软件研发人员,企业管理人员,软件企业,软件工

4、 程知识,业务领 域知识,企业运 营知识,解决方 案知识,软件过程,需求开发人员举例,需求开发人员,软件研发人员,软件研发人员,需求开发人员,软件企业的组成,产品服务人员,企业管理人员,软件企业,软件工 程知识,业务领 域知识,企业运 营知识,解决方 案知识,软件过程,软件研发人员举例,软件研发人员,国内软件企业面临的普遍问题,普通开发员好找,软件工程师难寻,处于作坊式向工程化进化的艰难过渡期,软件过程失衡,脱节,过程成熟度低,陷于规范管理和僵化管理相混淆的境地,外功易修,内功难练,市场的要求高和企业研发能力不足矛盾突出,普通开发员和软件工程师之一,普通开发员 掌握了计算机基础知识; 熟悉计算

5、机资源,学会了编程语言,喜欢卖弄技巧,喜欢比较编程语言的优劣; 以能编出某种特殊功能的程序为荣,不懂原理,不求甚解; 喜欢个人开发,不重视文档编写;,软件工程师 计算机基础知识扎实; 掌握两门以上编程语言,很少停留在表面比较编程语言的优劣; 以编写出用户满意的高质量软件为荣。 懂得个人开发和团队开发的利弊,文档规范,齐全。,普通开发员和软件工程师之二,普通开发员 只重视功能的实现,不重进度和质量的把握。 怕被“管”得太死,动不动就说限制了思路,没有发挥空间。 不喜欢做测试工作,认为测试低人一等,从来没有做过测试工作。 只根据自己的爱好学习技术;,软件工程师 懂得在进度、质量(功能)和成本之间平

6、衡。 懂得规范的目的在于重用,重用有利于提高效率和集中精力创新。 认为测试工作比编码更具挑战性,自己经常为同伴的代码做白盒测试。 根据企业项目的需求和自己发展目标的共同点选择学习内容和方向;,普通开发员和软件工程师之三,普通程序员 认为别人程序很差,不喜欢看别人的代码; 总认为自己比业务专家还更理解需求。 项目开始喜欢说:“没问题,SO EASY”。 项目大大延期时喜欢说:“设计太烂,没法编程”。,软件工程师 喜欢为同事走查代码,并以此获得学习他人有点的机会; 懂得自己只是可能比业务专家更懂编程。 项目开始喜欢问:“那是什么?这是为什么?”。 项目大大延期时喜欢说:“我为什么就没想到”。,企业

7、的人才类型和素质结构关系,技术素质,管理素质,时间管理,缺陷管理,计划管理,成本管理,风险管理,知识管理,分析技术,架构技术,编程技术,测试技术,设计技术,初级工作者,高级综合人才,高级管理人才,高级技术人才,高级技术人才理想成长路径,时间管理,缺陷管理,计划管理,成本管理,风险管理,知识管理,分析技术,架构技术,编程技术,测试技术,设计技术,初级工作者,高级综合人才,高级管理人才,高级技术人才,1,6,4,5,2,3,预备程序员,中级程序员,高级程序员,设计员,分析员,架构师,管理素质,技术素质,高级管理人才理想成长路径,时间管理,缺陷管理,计划管理,成本管理,风险管理,知识管理,分析技术,

8、架构技术,编程技术,测试技术,设计技术,初级工作者,高级综合人才,高级管理人才,高级技术人才,1,A,7,9,8,配置经理,SQA经理,产品经理,研发部经理,6,4,5,2,3,预备程序员,技术素质,管理素质,高级综合人才实际想成长路径,时间管理,缺陷管理,计划管理,成本管理,风险管理,知识管理,分析技术,架构技术,编程技术,测试技术,设计技术,初级工作者,高级综合人才,高级管理人才,高级技术人才,1,A,7,9,8,6,4,5,2,3,预备程序员,B,项目组长,C,项目负责人,D,项目经理,E,项目总监,F,技术总监,管理素质,技术素质,软件企业人才成长实际路径,时间管理,缺陷管理,计划管理

9、,成本管理,风险管理,知识管理,分析技术,架构技术,编程技术,测试技术,设计技术,初级工作者,高级综合人才,高级管理人才,高级技术人才,1,A,7,9,8,6,4,5,2,3,B,C,D,E,F,技术素质,管理素质,企业人才类型理想分布状况,时间管理,缺陷管理,计划管理,成本管理,风险管理,知识管理,分析技术,架构技术,编程技术,测试技术,设计技术,初级工作者,高级综合人才,高级管理人才,高级技术人才,1,A,7,9,8,6,4,5,2,3,B,C,D,E,F,管理素质,技术素质,企业实际人才类型分布状况,分析技术,架构技术,编程技术,测试技术,设计技术,高级综合人才,高级管理人才,高级技术人

10、才,1,A,7,9,8,6,4,5,2,3,B,C,D,E,F,技术素质,管理素质,缺陷管理,计划管理,成本管理,风险管理,知识管理,初级工作者,时间管理,软件架构师工作,Software Architecture: A preview The importance of SA Architecture vs. Design The State of the practice The State of Research The issues,The waterfall model of Software life cycle,Req. analysis & specification,Soft

11、ware Architecture & design,Coding & unit testing,Integration & system testing,maintenance,Capturing Solution using 4+1 Views:,System topology, delivery, installation,Project management Development team,System Integrators Dynamic properties: performance, scalability, availability.,End user functional

12、ity,Logical Views:,Logical view (or CC-View) Describe the architecturally significant elements of the architecture such as components (classes) and their communication Can be specified Using UML (class diagram) Using ADL,Physical view,Represents how the major processes and components are mapped on t

13、o application hardware E.g. how the database and web servers working with database are distributed across a number of servers machines,Development view,Represents the internal organization of the software components E.g., the depiction of a nested package and class hierarchy for a java application w

14、ould constitute the development view of an architecture,Process view,Describes the concurrency and coordination elements of an architecture E.g., in IT application, the main concerns are describing multi-threaded or replicated components, and the synchronous or asynchronous communication mechanism u

15、sed,Use-case view,Used tie all these views They capture the requirements for the architecture Can be related to one or more views Can be used to test/validate the architecture,Alternative to 4+1: SEI Work known as views and beyond,Documents an architecture using Module view Describe a structural vie

16、w of the architecture Code modules, classes, packages, and subsystems in the design Component-and-Connector view (uses ADL) This view describe the behavioral aspects of the architecture using component (e.g., objects) and the connectors (e.g., procedure call, CORBA) Allocation view Shows the mapping

17、 between the processes and their hardware; How they talk to each other using NTW or DBASE,Hardware DESIGN Vs. Software Design,Software High level design (Architecture) Low level design (algorithms & Data Structure) Code level Executable,Hardware Programming Logic design Circuit,The Importance of Arc

18、hitectural design,Explicit use of architectural design can be seen Standardized components: common set of components forms the basis for a set of related operations Specific systems can be realized by just adding the specialized components Product family: common set of components that form the basis

19、 to produce a family of closely related producer; Frameworks (platform): A generic set of components that forms the basis of a variety of related products; need to be tailored for specific system Domain-specific architectures: architectural abstractions designed for specific class of systems (e.g.,

20、DoD and avionic systems),Stakeholders and their Concerns,Software Architect,End-users: how dependable is the system?,Acquirers: Neat features, low cost, short time to market, parity with competing products!,Maintainers: how to change?,Management: how to keep track of milestones, budget, etc,Develope

21、rs: Low cost, timely delivery, not change very often!,Examples of Driving Qualities,observable at Runtime Performance Security Availability Reliability Usability Scalability,Not observable at Runtime Modifiability Portability Reusability Integrability Testability,Business Qualities Time to market Co

22、st Projected lifetime of the system Targeted market Rollout schedule Extensive use of legacy systems,Qualities of the Architecture Conceptual integrity Correctness and completeness,软件架构师工作,软件架构师案例分析 Trustie课题,协同开发平台团队,流程制导、支持异构集成的软件生产线介绍,Trustie课题 协同开发平台团队 2009.06.01 北京,,内容,背景介绍 生产线演示 生产线构造与装配 生产线制品

23、管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,,一个旅行定制系统,用户通过浏览器定制旅行计划,主要包括以下四大功能需求: 电子商务门户 订单处理 供应商 银行支付,TravelPlan,背景介绍-需求,,应用复杂化、平台复杂化 流程驱动、服务集成 个性定制、信息集成 多层架构、平台异构,背景介绍-需求,,生产线特征 支持基于多中间件平台的复杂分布式软件系统的生产 支持模型驱动的开发方法,支持可信保障,背景介绍-流程制导、支持异构集成的软件生产线,,背景介绍-流程制导、支持异构集成的软件生产线,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理

24、生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,生产线设计人员定义生产线加工工序 项目开发团队下载、装配个人工作平台,内容,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,应用项目中制品的组织和管理,内容,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,项目管理人员分配软件制品加工任务,内容,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动

25、的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,业务流程设计人员进行业务流程的设计和开发,内容,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,Java&J2EE开发人员进行业务构件和门户构件的开发,内容,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,部署人员进行统一进行流程、应用、构件的部署,内容,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发

26、 异构构件的开发 统一部署 多层次、多粒度主动监控,业务分析人员和平台管理人员进行业务流程监控和平台性能监控,内容,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,生产线设计人员定义生产线加工工序 项目开发团队下载、装配个人工作平台,内容,,构造软件品加工工序,形成以制品为核心的“生产线数据流”,生产线建模工具,生产线演示-构造软件制品加工工序,,构造软件品加工工序,形成以制品为核心的“生产线数据流”,生产线建模工具,生产线演示-构造软件制品加工工序,,构造软件品加工工序,形成以制品为核心的“生产线数

27、据流”,生产线建模工具,生产线演示-构造软件制品加工工序,数据流,,生产线演示-构造软件制品加工工序,,生产线演示-生产线配置文件,,个人工作平台,生产线使用人员根据所属角色,下载工具,装配形成个人工作平台,生产线演示-装配个人工作平台,个人工作平台,任务管理,制品管理,生产线生命周期管理,BPMN 建模,Web服务 开发,流程 部署,流程 测试,软件生产线,个人工作平台,个人工作平台,,Internet,生产线演示-装配个人工作平台,,Internet,生产线演示-装配个人工作平台,,Internet,生产线演示-装配个人工作平台,,Internet,生产线演示-装配个人工作平台,,Inte

28、rnet,生产线演示-装配个人工作平台,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,应用项目中制品的组织和管理,内容,,生产线演示-应用工程及制品管理,,生产线演示-应用工程及制品管理,,生产线演示-应用工程及制品管理,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,项目管理人员分配软件制品加工任务,内容,,以任务驱动生产线进行软件生产活动,形成“生产线控制流”,生产线演示-生产线任务管理,个人工作平台,

29、任务管理,制品管理,生产线生命周期管理,BPMN 建模,Web服务 开发,流程 部署,流程 测试,软件生产线,控制流,任务管理系统,客户端,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,业务流程设计人员进行业务流程的设计和开发,内容,,生产线演示-模型驱动的业务流程开发,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,Java&J2EE开发人员进行业务构件和门户构件的开发,内容,,生产线演示-异构构件的开发

30、,,生产线演示-基于WorkManage的航班查询服务,TravelPlan 航班查询,酷讯查询,携程查询,同步查询,航班信息,顺 序 执行,,生产线演示-基于WorkManage的航班查询服务,TravelPlan 航班查询,酷讯查询,携程查询,基于WorkManager的异步查询,航班信息,并发 执行,,生产线演示-协作门户构件的开发,旅游目的地、天气、地图等Portlet之间的协作,,生产线演示-协作门户构件的开发,旅游目的地、天气、地图等Portlet之间的协作,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、主动监控,部署人员进行统一进行流程、应用、构件的部署,内容,,生产线演示-统一部署,,背景介绍 生产线演示 生产线构造与装配 生产线制品管理 生产线任务管理 模型驱动的业务流程开发 异构构件的开发 统一部署 多层次、多粒度主动监控,业务分析人员和平台管理人员进行业务流程监控和平台性能监控,内容,,生产线演示-多层次、多粒度的主动监控,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1