欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    Advance Software Engineering (CEN-5011).ppt

    • 资源ID:378065       资源大小:370.50KB        全文页数:51页
    • 资源格式: PPT        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Advance Software Engineering (CEN-5011).ppt

    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.,


    注意事项

    本文(Advance Software Engineering (CEN-5011).ppt)为本站会员(sumcourage256)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开