当前位置:文档之家› 软件开发技术综述

软件开发技术综述


网络计算机(软硬件)系统组成
应用 系统
应用 系统
中间件
应用 系统
应用 系统
应用 系统
操作系统
计算机硬件
各种准分布式系统
应用 系统
操作系统 计算机硬件
操作系统为程序提供运行环境
如何方便地开发跨网络系统
语言编译程序的平台相关性
程序设计师
Println(“H ello!”) 中高级程序语言代码
程序语言代码
集成开发环境的发展
• 对面向对象、组件、WebService、设计模式、 应用框架的支持
• 对平台概念的支持 • 对源代码的管理 • 对软件开发过程的支持
IBM软件开发解决方案(RSA)
Process and Architecture Guidance Visual Studio Industry Partners
Application Designer
Dynamic Code Analyzer
Load Testing
System Designer
Static Code Analyzer
Manual Testing
Logical Datacenter Designer
Code Profiler
Test Case Management
• 运行环境
– 并发/并行操作系统 – 网络操作系统 – 集群 – 其他中间件技术(构件) – 编译和运行时技术
• 开发环境
– IDE – OO及构件(组件) – 库(框架、中间件、基础构件) – ALM及其他CASE
单台计算机上的软件层次结构
应用程序 中间件 操作系统
设备驱动程序 板级支持包BSP 硬件抽象层HAL
– 外向(Extroversion,E)或内向(Introversion,I) ──外向 的人天生比较喜欢走向人群和外界的事物,而内向的人比 较喜欢待自己的世界里,拥有自己的想法。
– 感知(Sensing,S)或直觉(Intuition,N) ──这项指标是看 这个人喜欢接受决策性资料的程度。感知倾向的人较专注 在已知的事实、确定的资料和经验。而直觉倾向的人较喜 欢追求不确定的事物,较专注于概念或理论。
XML Web Services and Scripting High-productivity environment for building and operating XML Web services
如何跨平台开发
如何跨平台开发
• 对特定平台的应用进行适当的包装 • 提供别的平台能够识别的方式和使用接口
Deployment Designer
Unit Testing
Code Coverage
Class Designer (in Visual Studio Standard Edition and higher)
Visio for Enterprise Architects (in MSDN Premium Subscription)
– 思考(Thing,T)或感受(Feeling,F) ──这项指标是指这 个人的决策风格。思考型的人根据客观的分析和逻辑做出 他的决策,而情感型的人则依主观情绪来做决策。
– 观察(Perceiving,P)或判断(Judging,J) ──观察型的人 喜欢弹性和未知的各种可能性,而判断型的人则喜欢一切 有秩序,一切能控制。
UDDI
Web Service
XML/SOAP BODY
Design-Time or Dynamic
Runtime
软件开发技术总结
应用 应用
……
应用 应用
应用框架
中间件 操作系统 硬件 硬件
…… WebService
…… …… ……
应用框架
工模语
中间件 操作系统
具式言
硬件 硬件
集成开发环境的发展
Reporting Project Portal
Integration Services Project Management
我们设想的学习路径
• 面向系统的应用程序的编程(不过多考虑设计)
– 逻辑(算法)+ 内存的使用(数据结构) – 底层的技术是上层的基础和支撑 – 了解了底层,上层相对容易
• 比如,虚函数与COM组件的实现相当类似
Unified Class libraries Unifies Programming models across languages Factored for extensibility Designed for tools
Enterprise Services The services required for mission critical applications: Transactions, Messaging, Partitions, Object Pooling and Events
J2EE核心技术
Win32 and the .NET Framework
VB C++ C# JScript Python …
ASP .NET
ADO Enterprise .NET Services
Байду номын сангаас
CLR
MSMQ
COM+
Active Directory
IIS
WMI
Win32
CLR
Executes code, maintains security, handles component “plumbing” and dependencies
XML and Data Access ADO .NET interfaces any database, loosely coupled data access and native XML data format; leverages the huge library of ODBC OLE DB drivers
• 面向应用业务的应用程序的设计
– 体系结构的设计(OOA和OOD 方法、过程和工具) – 从宏观的角度把握整体
• 概念清晰是一切的基础
将时髦的技术挂在嘴边,不如把成熟(过时)的技术记在心里
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
Team Explorer (includes Team Foundation Server CAL)
Visual Studio Professional Edition
Visual Studio Team Foundation Server
Team Build
Change Management Work Item Tracking
软件开发技术综述
原仓周
主要内容
• 软件开发技术概述
– 软件运行环境
• 单机、网络
– 软件开发环境
• 软件粒度 • 跨网络开发 • 跨平台开发
• 从程序到可执行文件 • 从可执行文件到进程 • 程序的效率 • 我们设想的学习路径
你适合做软件工程师吗?
软件开发人员的性格指标
• 麦布二氏行为类型量表将人分成四类:
– 网络可实现的共享(文件、内存、CPU)
• Web应用的组成
– 浏览器有哪些功能? – OS为浏览器提供哪些支持? – 服务器有哪些功能? – 操作系统及中间件为服务器提供哪些支持?
• 系统软件开发方法?
– 运行高效、维护(扩展)方便
• 应用软件开发方法?
– 开发高效(重用、解耦) 、维护(扩展)方便
实际计算机 (硬件和操作系统)
目前的软件开发粒度
应用程序
应用框架
组件 构件 类(对象) 函数
常见的开发方法
• 面向过程
• 面向对象
• 面向构件 • 面向体系结构
• 面向服务SOA
• 应用程序框架是特定体系结构和设计模式的具
体实现
• OO • SOA
各开发方法的定位
软 件 开 发 的 本 质
计算机(二进制)程 机器语言 序
Discovery
HTML or XML with link to WSDL
How do we talk? (WSDL)
/?WSDL XML with service descriptions
Let me talk to you (SOAP)
硬件
各层之间如何交互?
• 下层向上层提供调用接口
– 调用接口通常以函数(API)的形式提供 – 接口由谁规定?
• 上层利用下层完成特定的功能
– 下层负责具体细节的实现 – 开发软件时需要比较了解其直接的运行平台
• 下层通常不关心上层的功能
– 例如,web中间件提供session的概念,但并不限 制用户何时,以何种形式使用它
从高层处理逻辑到低层处理逻辑的映射
业 人(现实世界) 务 自然语言
MVC
.NET和J2EE如何支持MVC?
J2EE规范
J2EE组成
J2EE Specification
J2EE Compatibility
Test Suite
J2EE
J2EE Reference Implementation
J2EE Blue Prints
UDDI (Web Service Broker)
Publish
Find
Internet
Web Service Provider
Bind
Web Service Consumer
Web Services In Practice
XML Web service Client
Find a Service
http:// Link to DISCO or WSDL document
相关主题