Advance Software Engineering (CEN-5011).ppt

上传人:sumcourage256 文档编号:378065 上传时间:2018-10-09 格式:PPT 页数:51 大小:370.50KB
下载 相关 举报
Advance Software Engineering (CEN-5011).ppt_第1页
第1页 / 共51页
Advance Software Engineering (CEN-5011).ppt_第2页
第2页 / 共51页
Advance Software Engineering (CEN-5011).ppt_第3页
第3页 / 共51页
Advance Software Engineering (CEN-5011).ppt_第4页
第4页 / 共51页
Advance Software Engineering (CEN-5011).ppt_第5页
第5页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Advance Software Engineering (CEN-5011),Instructor: Masoud Sadjadi http:/www.cs.fiu.edu/sadjadi/,System Design: Addressing Design Goals,2,Acknowledgements,Dr. Bernd BrueggeDr. Allen Dutoit,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,3,Agend

2、a,System Design I (previous lecture) 0. Overview of System Design 1. Design Goals 2. Subsystem DecompositionSystem Design II 3. Concurrency 4. Hardware/Software Mapping 5. Persistent Data Management 6. Global Resource Handling and Access Control 7. Software Control 8. Boundary ConditionsSummary,Over

3、view:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,4,Activity 3: Concurrency,Identify concurrent threads and address concurrency issues. Design goal: response time, performance.Threads A thread of control is a path through a set of state diagrams on w

4、hich a single object is active at a time. A thread remains within a state diagram until an object sends an event to another object and waits for another event. Thread splitting: Object does a nonblocking send of an event.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Contr

5、ol,Boundary Cond.,Summary,5,Concurrency (continued),Two objects are inherently concurrent if they can receive events at the same time without interactingInherently concurrent objects should be assigned to different threads of controlObjects with mutual exclusive activity should be folded into a sing

6、le thread of control (Why?),Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,6,Concurrency Questions,Which objects of the object model are independent?What kinds of threads of control are identifiable?Does the system provide access to multiple u

7、sers?Can a single request to the system be decomposed into multiple requests? Can these requests be handled in parallel?,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,7,Implementing Concurrency,Concurrent systems can be implemented on any sys

8、tem that provides Physical Concurrency (hardware) orLogical Concurrency (software) Scheduling problem (Operating systems),Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,8,Agenda,System Design I (previous lecture) 0. Overview of System Design 1

9、. Design Goals 2. Subsystem DecompositionSystem Design II 3. Concurrency 4. Hardware/Software Mapping 5. Persistent Data Management 6. Global Resource Handling and Access Control 7. Software Control 8. Boundary ConditionsSummary,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Softwar

10、e Control,Boundary Cond.,Summary,9,Activity 4: HW/SW Mapping,This activity addresses two questions: How shall we realize the subsystems: Hardware? Software? How is the object model mapped on the chosen hardware and software? Mapping Objects onto Reality: Processor, Memory, Input/Output. Mapping Asso

11、ciations onto Reality: Connectivity.Much of the difficulty of designing a system comes from meeting externally-imposed hardware and software constraints. Certain tasks have to be at specific locations.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Su

12、mmary,10,Mapping the Objects,Processor issues: Is the computation rate too demanding for a single processor? Can we get a speedup by distributing tasks across several processors? How many processors are required to maintain steady state load? Memory issues: Is there enough memory to buffer bursts of

13、 requests? I/O issues: Do you need an extra piece of hardware to handle the data generation rate? Does the response time exceed the available communication bandwidth between subsystems or a task and a piece of hardware?,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control

14、,Boundary Cond.,Summary,11,Connectivity,Describe the physical connectivity of the hardware Often the physical layer in ISOs OSI Reference Model Which associations in the object model are mapped to physical connections? Which of the client-supplier relationships in the analysis/design model correspon

15、d to physical connections?Describe the logical connectivity (subsystem associations) Identify associations that do not directly map into physical connections: How should these associations be implemented?,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.

16、,Summary,12,Example of a Connectivity Drawing,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,13,Logical vs. Physical Connectivity,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,14,Layeri

17、ng,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,15,HW/SW Mapping Questions,What is the connectivity among physical units? Tree, star, matrix, ring? What is the appropriate communication protocol among the subsystems? Function of required ban

18、dwidth, latency and desired reliability, desired quality of service (QOS) Is certain functionality already available in hardware? Do certain tasks require specific locations to control the hardware or to permit concurrent operation? Often true for embedded systems What is the desired response time?,

19、Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,16,Connectivity in Distributed Systems,If the architecture is distributed, we need to describe the network architecture (communication subsystem) as well. Questions to ask What are the transmissio

20、n media? (Ethernet, Wireless) What is the Quality of Service (QOS)? What kind of communication protocols can be used? Should the interaction be asynchronous, synchronous or blocking? What are the available bandwidth requirements between the subsystems? Stock Price Change - Broker Icy Road Detector -

21、 ABS System,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,17,Drawing HW/SW Mappings in UML,System design must model static and dynamic structures: Component Diagrams for static structures show the structure at design time or compilation time

22、Deployment Diagram for dynamic structures show the structure of the run-time systemNote the lifetime of components Some exist only at design time Others exist only until compile time Some exist at link or runtime,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Bounda

23、ry Cond.,Summary,18,Component Diagram,Component Diagram A graph of components connected by dependency relationships. Shows the dependencies among software components source code, linkable libraries, executables Dependencies are shown as dashed arrows from the client component to the supplier compone

24、nt. The kinds of dependencies are implementation language specific. A component diagram may also be used to show dependencies on a faade: Use dashed arrow to the corresponding UML interface.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,19,Co

25、mponent Diagram Example,reservations,update,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,20,Deployment Diagram,Deployment diagrams are useful for showing a system design after the following decisions are made Subsystem decomposition Concurre

26、ncy Hardware/Software Mapping A deployment diagram is a graph of nodes connected by communication associations. Nodes are shown as 3-D boxes. Nodes may contain component instances. Components may contain objects (indicating that the object is part of the component),Overview:,Concurrency,HW/SW Mappin

27、g,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,21,Deployment Diagram Example,Runtime Dependency,Compile Time Dependency,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,22,Agenda,System Design I (previous lecture) 0. Overv

28、iew of System Design 1. Design Goals 2. Subsystem DecompositionSystem Design II 3. Concurrency 4. Hardware/Software Mapping 5. Persistent Data Management 6. Global Resource Handling and Access Control 7. Software Control 8. Boundary ConditionsSummary,Overview:,Concurrency,HW/SW Mapping,Data Manage.,

29、Access Control,Software Control,Boundary Cond.,Summary,23,Activity 5: Data Management,Some objects in the models need to be persistent Provide clean separation points between subsystems with well-defined interfaces. A persistent object can be realized with one of the following Data structure If the

30、data can be volatile Files Cheap, simple, permanent storage Low level (Read, Write) Applications must add code to provide suitable level of abstraction Database Powerful, easy to port Supports multiple writers and readers,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Contr

31、ol,Boundary Cond.,Summary,24,File or Database?,When should you choose a file? Are the data voluminous (bit maps)? Do you have lots of raw data (core dump, event trace)? Do you need to keep the data only for a short time? Is the information density low (archival files,history logs)? When should you c

32、hoose a database? Do the data require access at fine levels of details by multiple users? Must the data be ported across multiple platforms (heterogeneous systems)? Do multiple application programs access the data? Does the data management require a lot of infrastructure?,Overview:,Concurrency,HW/SW

33、 Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,25,Database Management System,Contains mechanisms for describing data, managing persistent storage and for providing a backup mechanismProvides concurrent access to the stored dataContains information about the data (“meta-

34、data”), also called data schema.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,26,Issues When Selecting a Database,Storage space Database require about triple the storage space of actual data Response time Distributed dbs are I/O or communica

35、tion bound. Response time is also affected by CPU time, locking contention, and frequent screen displays. Locking modes Pessimistic locking: Lock before accessing object and release when object access is complete Optimistic locking: Reads and writes may freely occur (high concurrency!). Administrati

36、on Large databases require specially trained support staff.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,27,Object-Oriented Databases,Support all fundamental object modeling concepts Classes, Attributes, Methods, Associations, Inheritance Ma

37、pping an object model to an OO-database Determine which objects are persistent. Perform normal requirement analysis and object design Create single attribute indices to reduce performance bottlenecks Do the mapping (specific to commercially available product). Example: In ObjectStore, implement clas

38、ses and associations by preparing C+ declarations for each class and each association in the object model,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,28,Relational Databases,Based on relational algebra Data is presented as 2-dimensional tab

39、les. Tables have a specific number of columns and and arbitrary numbers of rows Primary key: Combination of attributes that uniquely identify a row in a table. Each table should have only one primary key Foreign key: Reference to a primary key in another table SQL is the standard language defining a

40、nd manipulating tables. Leading commercial databases support constraints. Referential integrity, for example, means that references to entries in other tables actually exist.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,29,Data Management Qu

41、estions,Should the data be distributed? Should the database be extensible? How often is the database accessed? What is the expected request (query) rate? In the worst case? What is the size of typical and worst case requests? Do the data need to be archived? Does the system design try to hide the lo

42、cation of the databases (location transparency)? Is there a need for a single interface to access the data? What is the query format? Should the database be relational or object-oriented?,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,30,Agend

43、a,System Design I (previous lecture) 0. Overview of System Design 1. Design Goals 2. Subsystem DecompositionSystem Design II 3. Concurrency 4. Hardware/Software Mapping 5. Persistent Data Management 6. Global Resource Handling and Access Control 7. Software Control 8. Boundary ConditionsSummary,Over

44、view:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,31,Activity 6: Global Resource Handling,Discusses access controlDescribes access rights for different classes of actorsDescribes how object guard against unauthorized access,Overview:,Concurrency,HW/S

45、W Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,32,Defining Access Control,In multi-user systems, different actors have access to different functionality and data. During analysis We model these different accesses by associating different use cases with different actors

46、. During system design We model these different accesses by examing the object model by determining which objects are shared among actors. Depending on the security requirements of the system, we also define how actors are authenticated to the system and how selected data in the system should be enc

47、rypted.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,33,Access Matrix,We model access on classes with an access matrix. The rows of the matrix represents the actors of the system The column represent classes whose access we want to control.A

48、ccess Right: An entry in the access matrix. It lists the operations that can be executed on instances of the class by the actor.,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,Summary,34,Access Matrix Implementation,Global access table: (actor, class,

49、 operation) tuples. Determining if an actor has access to a specific object requires looking up the corresponding tuple. Access control list (actor, operation) each class to be accessed. If an object is accessed, its access list is checked. Example: guest list for a party. A capability (class, operation) an actor. A capability provides an actor to gain control access to an object of the class described in the capability. Example: An invitation card for a party. Which is the right implementation?,Overview:,Concurrency,HW/SW Mapping,Data Manage.,Access Control,Software Control,Boundary Cond.,

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

当前位置:首页 > 教学课件 > 大学教育

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