ImageVerifierCode 换一换
格式:PPT , 页数:86 ,大小:463KB ,
资源ID:379564      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-379564.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Chapter 13 Design Concepts and Principles.ppt)为本站会员(diecharacter305)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

Chapter 13 Design Concepts and Principles.ppt

1、Chapter 13 Design Concepts and Principles,Software Design,DESIGN is an overloaded term.= entire development of a system. = design of architecture (host, c/s, client) = design of software components and their collaboration = design of individual components (classes. = design of an individual structur

2、e of a attribute = design of an individual method or function,Software architecture,This design process is for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural designThe output of this design process is a description of the so

3、ftware architecture,Architectural design,An early stage of the entire system design process. Represents the link between specification by the user and and the design processes for each component. Often carried out in parallel with some specification activities It involves identifying major system co

4、mponents and their communications,Architectural design process,System structuring The system is decomposed into several principal sub-systems and communications between these sub-systems are identified Control modelling A model of the control relationships between the different parts of the system i

5、s established Modular decomposition The identified sub-systems are decomposed into modules,Architectural models,As related to overloaded definition of DESIGNDifferent architectural models may be produced during the design process Each model presents different perspectives on the architecture Static

6、structural model that shows the major system components Dynamic process model that shows the process structure of the system Interface model that defines sub-system interfaces Relationships model such as a data-flow model,Architecture attributes,Performance Localize operations to minimise sub-system

7、 communication Security Use a layered architecture with critical assets in inner layers Safety Isolate safety-critical components Availability Include redundant components in the architecture Maintainability Use fine-grain, self-contained components,System structuring,Concerned with decomposing the

8、system into interacting sub-systems The architectural design is normally expressed as a block diagram presenting an overview of the system structure More specific models showing how sub-systems share data, are distributed and interface with each other may also be developed,The repository (mainframe)

9、 model,Sub-systems must exchange data. This may be done in two ways: Shared data is held in a central database or data repository and may be accessed by all sub-systems on the same hardware Each sub-system maintains its own database and passes data explicitly to other sub-systems When large amounts

10、of data are to be shared, the repository model of sharing is most commonly used,Repository model characteristics,Advantages Efficient way to share large amounts of data Sub-systems need not be concerned with how data is produced Centralised management e.g. backup, security, etc. Sharing model is pub

11、lished as the repository schema Disadvantages Sub-systems must agree on a repository data model. Inevitably a compromise Data evolution is difficult and expensive No scope for specific management policies Difficult to distribute efficiently,Client-server architecture,Distributed system model which s

12、hows how data and processing is distributed across a range of components Set of stand-alone servers which provide specific services such as printing, data management, etc. Set of clients which call on these services Network which allows clients to access servers,Client-server characteristics,Advanta

13、ges Distribution of data is straightforward Makes effective use of networked systems. May require cheaper hardware Easy to add new servers or upgrade existing servers Disadvantages No shared data model so sub-systems use different data organisation. data interchange may be inefficient Redundant mana

14、gement in each server No central register of names and services - may be hard to determine servers and services are available,Abstract machine model,Used to model the interfacing of sub-systems Organizes the system into a set of layers (or abstract machines) each of which provide a set of services S

15、upports the incremental development of sub-systems in different layers. When a layer interface changes, only the adjacent layer is affected However, often difficult to structure systems in this way,Control models,Are concerned with the control flow between sub-systems. Distinct from the system decom

16、position model Centralized control One sub-system has overall responsibility for control and starts and stops other sub-systems Event-based control Each sub-system can respond to externally generated events from other sub-systems or the systems environment,Centralized control,A control sub-system ta

17、kes responsibility for managing the execution of other sub-systems Call-return model Top-down subroutine model - control starts at top of a hierarchy and moves downwards. (non concurrent systems) Manager model Applicable to concurrent systems. One system component controls the stopping, starting and

18、 coordination of other system processes. Can be implemented in sequential systems as a case statement,Call-return model,Event-driven systems,Driven by externally generated events where event timing is out with the control of the sub-systems which process the event Two principal event-driven models B

19、roadcast models. An event is broadcast to all sub-systems. Any sub-system which can handle the event may do so Interrupt-driven models. Used in real-time systems where interrupts are detected by an interrupt handler and passed to some other component for processing,Broadcast model,Effective in integ

20、rating sub-systems on different computers in a network Sub-systems register an interest in specific events. When these occur, control is transferred to the sub-system which can handle the event Control policy is not embedded in the event and message handler. Sub-systems decide on events of interest

21、to them However, sub-systems dont know if or when an event will be handled,Interrupt-driven systems,Used in real-time systems where fast response to an event is essential There are known interrupt types with a handler defined for each type Each type is associated with a memory location and a hardwar

22、e switch causes transfer to its handler Allows fast response but complex to program and difficult to validate,Modular decomposition,Structural level where sub-systems are decomposed into modules Two modular decomposition models An object model where the system is decomposed into interacting objects

23、A data-flow model where the system is decomposed into functional modules which transform inputs to outputs. Also known as the pipeline model If possible, concurrency decisions delayed until implementation.,Object models,Structure the system into a set of loosely coupled objects with well-defined int

24、erfaces Object-oriented decomposition is concerned with identifying object classes, their attributes and operations When implemented, objects are created from these classes and some control model used to coordinate object operations,Data-flow models,Functional transformations process their inputs to

25、 produce outputs May be referred to as a pipe and filter model (as in UNIX shell) Variants of this approach are very common. When transformations are sequential, this is a batch sequential model which is extensively used in data processing systems Not really suitable for interactive systems,Invoice

26、processing system,Domain-specific architectures,Architectural models which are specific to some application domain Two types of domain-specific model Generic models which are abstractions from a number of real systems and which encapsulate the principal characteristics of these systems Reference mod

27、els which are more abstract, idealised model. Provide a means of information about that class of system and of comparing different architectures Generic models are usually bottom-up models; Reference models are top-down model,System types,Personal systems that are not distributed and that are design

28、ed to run on a personal computer or workstation. Embedded systems that run on a single processor or on an integrated group of processors. Distributed systems where the system software runs on a loosely integrated group of co-operating processors linked by a network.,Distributed system characteristic

29、s,Characteristics Resource sharing Openness Concurrency Scalability Fault tolerance TransparencyDisadvantages Complexity Security Manageability Unpredictability,Issues in distributed system design,Issues in distributed system design,Issues in distributed system design,Issues in distributed system de

30、sign,Distributed systems architectures,Client-server architectures Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use services Distributed object architectures No distinction between clients and servers. Any object on the

31、system may provide and use services from other objects,Middleware,Software that supports different components of a distributed system sitting in the middle of system Middleware is usually off-the-shelf rather than specially written software Examples Transaction processing monitors Data converters Co

32、mmunication controllers,Multiprocessor architectures,Simplest distributed system model System composed of multiple processes which may (but need not) execute on different processors Architectural model of many large real-time systems Distribution of process to processor may be pre-ordered or may be

33、under the control of a dispatcher,Client-server architectures,The application is modelled as a set of services that are provided by servers and a set of clients that use these services Clients know of servers but servers need not know of clients Clients and servers are logical processes The mapping

34、of processors to processes is not necessarily 1 : 1,A client-server system,Layered application architecture,Presentation layer Concerned with presenting the results of a computation to system users and with collecting user inputs Application processing layer Concerned with providing application spec

35、ific functionality e.g., in a banking system, banking functions such as open account, close account, etc. Data management layer Concerned with managing the system databases,Thin and fat clients,Thin-client model In a thin-client model, all of the application processing and data management is carried

36、 out on the server. The client is simply responsible for running the presentation software. Fat-client model In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user.,Thin and fat clients,

37、Thin client model,Used when legacy systems are migrated to client server architectures. The legacy system acts as a server in its own right with a graphical interface implemented on a client A major disadvantage is that it places a heavy processing load on both the server and the network,Typical Thi

38、n client model,GUI done in html (usually generated by frontpage, etc). Downloaded when used. Some items may be cached such as drop downs. (GUI downloaded takes too much time, GUI on client requires too much setup for each machines and Config. Man. Servlets, JSP run for application processing. Little

39、 or nothing residing at the client side.,Fat client model,More processing is delegated to the client as the application processing is locally executed Most suitable for new C/S systems where the capabilities of the client system are known in advance More complex than a thin client model especially f

40、or configuration management. New versions of the application have to be installed on all clients,A client-server ATM system,Three-tier architectures,In a three-tier architecture, each of the application architecture layers may execute on a separate processor Allows for better performance than a thin

41、-client approach and is simpler to manage than a fat-client approach A more scalable architecture - as demands increase, extra servers can be added,Use of C/S architectures,Use of C/S architectures,Use of C/S architectures,Distributed object architectures,There is no distinction in a distributed obj

42、ect architectures between clients and servers Each distributable entity is an object that provides services to other objects and receives services from other objects Object communication is through a middleware system called an object request broker (software bus) However, more complex to design tha

43、n C/S systems,Advantages of distributed object architecture,It allows the system designer to delay decisions on where and how services should be provided It is a very open system architecture that allows new resources to be added to it as required The system is flexible and scaleable It is possible

44、to reconfigure the system dynamically with objects migrating across the network as required,Uses of distributed object architecture,As a logical model that allows you to structure and organise the system. In this case, you think about how to provide application functionality solely in terms of servi

45、ces and combinations of services As a flexible approach to the implementation of client-server systems. The logical model of the system is a client-server model but both clients and servers are realised as distributed objects communicating through a software bus,CORBA,CORBA is an international stand

46、ard for an Object Request Broker - middleware to manage communications between distributed objects Several implementation of CORBA are available DCOM is an alternative approach by Microsoft to object request brokers CORBA has been defined by the Object Management Group,Application structure,Applicat

47、ion objects Standard objects, defined by the OMG, for a specific domain e.g. insurance Fundamental CORBA services such as directories and security management Horizontal (i.e. cutting across applications) facilities such as user interface facilities,CORBA standards,An object model for application obj

48、ects A CORBA object is an encapsulation of state with a well-defined, language-neutral interface defined in an IDL (interface definition language) An object request broker that manages requests for object services A set of general object services of use to many distributed applications A set of comm

49、on components built on top of these services,CORBA objects,CORBA objects are comparable, in principle, to objects in C+ and Java They MUST have a separate interface definition that is expressed using a common language (IDL) similar to C+ There is a mapping from this IDL to programming languages (C+,

50、 Java, etc.) Therefore, objects written in different languages can communicate with each other,Object request broker (ORB),The ORB handles object communications. It knows of all objects in the system and their interfaces Using an ORB, the calling object binds an IDL stub that defines the interface of the called object Calling this stub results in calls to the ORB which then calls the required object through a published IDL skeleton that links the interface to the service implementation,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1