Lecture2软件架构师.ppt

上传人:sccc 文档编号:5379511 上传时间:2023-07-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,预备程序员,中级程序员,高级程序员,设计员,分析员,架构师,管理素质,技术素质,高级管理人才理想成长路径,时间管理,缺陷管理,计划管理,成本管理,风险管理,知识管理,分析技术,架构技术,编程技术,测试技术,设计技术,初级工作者,高级综合人才,高级管理人才,高级技术人才,1,A,7,9,8,配置经理,SQA经理,产

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

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

10、工作者,时间管理,软件架构师工作,Software Architecture:A previewThe importance of SAArchitecture vs.DesignThe State of the practiceThe State of ResearchThe issues,The waterfall model of Software life cycle,Req.analysis&specification,Software Architecture&design,Coding&unit testing,Integration&system testing,mainten

11、ance,Capturing Solution using 4+1 Views:,System topology,delivery,installation.,Project management Development team,System IntegratorsDynamic properties:performance,scalability,availability.,End user functionality,Logical Views:,Logical view(or CC-View)Describe the architecturally significant elemen

12、ts of the architecture such as components(classes)and their communicationCan be specifiedUsing UML(class diagram)Using ADL,Physical view,Represents how the major processes and components are mapped on to application hardwareE.g.how the database and web servers working with database are distributed a

13、cross a number of servers machines,Development view,Represents the internal organization of the software componentsE.g.,the depiction of a nested package and class hierarchy for a java application would constitute the development view of an architecture,Process view,Describes the concurrency and coo

14、rdination elements of an architectureE.g.,in IT application,the main concerns are describing multi-threaded or replicated components,and the synchronous or asynchronous communication mechanism used,Use-case view,Used tie all these viewsThey capture the requirements for the architectureCan be related

15、 to one or more viewsCan be used to test/validate the architecture,Alternative to 4+1:SEI Work known as views and beyond,Documents an architecture usingModule viewDescribe a structural view of the architectureCode modules,classes,packages,and subsystems in the designComponent-and-Connector view(uses

16、 ADL)This view describe the behavioral aspects of the architecture using component(e.g.,objects)and the connectors(e.g.,procedure call,CORBA)Allocation viewShows the mapping between the processes and their hardware;How they talk to each other using NTW or DBASE,Hardware DESIGN Vs.Software Design,Sof

17、twareHigh level design(Architecture)Low level design(algorithms&Data Structure)Code levelExecutable,HardwareProgrammingLogic designCircuit,The Importance of Architectural design,Explicit use of architectural design can be seenStandardized components:common set of components forms the basis for a set

18、 of related operationsSpecific systems can be realized by just adding the specialized componentsProduct family:common set of components that form the basis to produce a family of closely related producer;Frameworks(platform):A generic set of components that forms the basis of a variety of related pr

19、oducts;need to be tailored for specific systemDomain-specific architectures:architectural abstractions designed for specific class of systems(e.g.,DoD and avionic systems),Stakeholders and their Concerns,Software Architect,End-users:how dependable is the system?,Acquirers:Neat features,low cost,shor

20、t time to market,parity with competing products!,Maintainers:how to change?,Management:how to keep track of milestones,budget,etc,Developers:Low cost,timely delivery,not change very often!,Examples of Driving Qualities,observable at Runtime Performance Security Availability ReliabilityUsability Scal

21、ability,Not observable at Runtime Modifiability Portability Reusability Integrability Testability,Business Qualities Time to market Cost Projected lifetime of the system Targeted market Rollout schedule Extensive use of legacy systems,Qualities of the Architecture Conceptual integrity Correctness an

22、d completeness,软件架构师工作,软件架构师案例分析Trustie课题,协同开发平台团队,流程制导、支持异构集成的软件生产线介绍,Trustie课题协同开发平台团队2009.06.01 北京,内容,背景介绍生产线演示生产线构造与装配生产线制品管理生产线任务管理模型驱动的业务流程开发异构构件的开发统一部署 多层次、主动监控,一个旅行定制系统,用户通过浏览器定制旅行计划,主要包括以下四大功能需求:电子商务门户订单处理供应商银行支付,TravelPlan,背景介绍-需求,应用复杂化、平台复杂化流程驱动、服务集成个性定制、信息集成多层架构、平台异构,背景介绍-需求,生产线特征支持基于多中间

23、件平台的复杂分布式软件系统的生产支持模型驱动的开发方法,支持可信保障,背景介绍-流程制导、支持异构集成的软件生产线,背景介绍-流程制导、支持异构集成的软件生产线,背景介绍生产线演示生产线构造与装配生产线制品管理生产线任务管理模型驱动的业务流程开发异构构件的开发统一部署 多层次、主动监控,生产线设计人员定义生产线加工工序项目开发团队下载、装配个人工作平台,内容,背景介绍生产线演示生产线构造与装配生产线制品管理生产线任务管理模型驱动的业务流程开发异构构件的开发统一部署 多层次、主动监控,应用项目中制品的组织和管理,内容,背景介绍生产线演示生产线构造与装配生产线制品管理生产线任务管理模型驱动的业务流

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

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

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

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

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

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

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号