Download presentation
Presentation is loading. Please wait.
1
1 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) معماری سيستمهای با مقياس بزرگ آزمايشگاه سيستمهای هوشمند زمستان 1385
2
2 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) مشخصات سيستمهای LS کارکرد پيچيده و گسترده. انتظارات سطح بالا در مورد نيازمنديهای غير کارکردی. نياز به اطلاعات گسترده. توزيع شدگی پردازش کارايي و يا اطلاعات. يکپارچگی سخت افزارها و نرم افزارها و سيستمهای ارتباطی مختلف.
3
3 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) لزوم داشتن يک LS برای يکپارچه سازی سيستمهای مختلف به منظورنيل به : اقتصادی ساختن سيستم از نظر توسعه و پشتيبانی از طريق استفاده مجدد.. فروش يکباره ← رضايت مشتری برای حل مشکل سيستم های جديد (green field) برای رسيدن به نيازهای بازار و کسب وکار برای رسيدن به اهداف استراتژيک سازمانی محافظت از سرمايه
4
4 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) نمونه هايي از سيستمهای LS سيستم رزرواسيون بليط سيستمهای مالياتی سيستمهای بانکی سيستمهای بازار بورس و سهام سيستمهای انبارداری online و توزيع شده. سيستمهای خدماتی online سيستمهای جامع و يکپارچه سازمانی سيستمهای کنترل و اندازه گيری از را دور بلادرنگ. سيستمهای مخابراتی.
5
5 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) متغييرهای موجود در LSS محتوا ← کارايي کيفيت ← نيازمنديهای غير کارکردی و ديگر محدودژت ها مانند محدوديت های تکنولژيکی زمانبندی ← زمان مورد نياز برای تکميل LSS هزينه ← سرمايه، فراساختار و هزينه منابع انسانی.
6
6 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) متغييرهای موجود در LSS Content Cost Schedul e Quality
7
7 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) موارد مورد توجه در LSS تقسيم وظايف در توسعه LSS( زمينه های مورد توجه ) افراد مختلف مسوليت های متفاوت تخصصهای مختلف هر زمينه دارای مسائل مختلف و روشهايي جهت حل مشکلات می باشد. هر روش ديدگاههای متفاوتی در مواجهه با مساله دارد. ديدگاه تيم طراحی ديدگاه مديريت پروژه ديدگاه کسب و کار.
8
8 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Software Development For Large-Scale Systems
9
9 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Software Architecture for LSS Agenda What Why an LSS Views Architecture description
10
10 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) What is software architecture Software architecture is an abstraction (generalized model) of systems Software Architecture is composed of sub-systems or components (possibly nested) Components have properties,e.g attributes and behavior The sub-Systems or componenets have relationship between them Non-runtime E.g located within the same directory, layer or package Runtime, e.g coupling (10 types)
11
11 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Introduction Large-Scale Software Architecture
12
12 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) What is Software Architecture There of dozens of books talk about software architecture The definitions used in this book are closely aligned IEEE 1417
13
13 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Key Terms (1) System Is a set of components that accomplishes a specific function or set of functions. Architecture Is the fundamental organization of a system embodied in its components, their relationships to each, and to the environment, and the principles guiding its design and evolution.
14
14 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Key Terms (2) Architectural Description A set of products that document the architecture Architectural View A representation of a particular system or part of a system from a particular perspective Architectural Viewpoint A template that describes how to creat and use an architectural view Includes a name, stakeholders, concerns addressed by the viewpoint and the modeling and analytic conventions.
15
15 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Software Architecture Refers to analysis, design, documentation, review, approval, and other related activities concerned with the definition and management of the software architecture Architectural views Provide representations of the architecture Used to guide construction, manage, explore, train personnel, test and perform other engineering tasks related to creation and maintenance of software system
16
16 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Uses of views Capturing the design decisions both early on and as enhancements are made Capturing information about the runtime enviroment for software Providing constrains on the lower-level design and implementation Providing input to the structure of the development organization Designing the system to meet the software reliability, availability, maintainability, and performance requirements Facilitating communication among the project teams Communicating software capabilities and constraints to varios developers, testers, and others
17
17 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Other way for thinking Typical questions answered by views of the architecture What are subsystems or components of the software? What are responsibilities of the components? What are the interfaces provided, consumed by these components? What subsystems or components are impact by a change to the software? How much retesting is required if we change this component? When components are involved in installing this change? How are part of system to be physically distributed? How will a change impact the performance of the system What development teams are impacted by a change to this interface? How much effort is involves in the development of this functionality?
18
18 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) What software architecture is not Hardware, network, physical plant architecture Hardware model number, hardware configuration, routers, LAN Should not duplicate information on other sources Appropriate level of detail Low level implementation details should not included in the software architecture
19
19 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Attributes of software architecture(1/2) Cultural adaptability Security Data integrity Maintainability characteristics Portability Changeability Fragility Rigidity Duplication Understandability Debugging support Testability usability
20
20 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Attributes of software architecture(2/2) Operational system aspects Availability Manageability Upgradeability Reliability Recoverability Performance Response Scalability Capacity/throughput safety
21
21 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Points Members of the architecture team need to constantly evaluate the software architecture to determine if it meets the desire goal with respect to these characteristics Architects must constantly prioritize and manage the trade-off between these attributes for a given projects
22
22 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Why architect? Architecting simply recognized the need to focus on the bigger picture of the software design and to provide guidance to the development team designers It is a place to capture early design decitions Provide constraints on the lower level design and implementation Provide the organizational structure for the development team This goal is that a well defined architecture will produce a system that will be easier to design, develop and maintain
23
23 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Uses of software architecture Training for the new team members Making modification Testers need to understand the system Ensuring architectural attributes Verification of requirements Project management Operating systems
24
24 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Architectural viewpoint summary Viewpoint are built by applying the various UML diagram types to specific architecture development tasks Each viewpoint has specific modeling goals and stakeholders
25
25 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) IEEE 1471 viewpoints Conceptual and analysis viewpoint Logical design viewpoint Environment/physical viewpoint
26
26 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) UML: Unified Modeling Language
27
27 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Conceptual and analysis viewpoint ViewpointUML diagramDescription Analysis focusedClass Describe system entities in response to a scenario. Often refer to as a view of participating classes or VOPC Analysis interactioninteraction Interaction diagram between objects for analysis Analysis overallClass Combination of all classes from all focused analysis viewpoints ContextUse case Show the external system actors and the system under design
28
28 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Logical design viewpoints ViewpointUML diagramDescription Component Component communications Component interactionInteraction Interactions among components Component stateState/activity State transition/activity diagram for a component or for a set of components Layered subsystemPackages Layering and subsystem design Logical dataClassesCritical data views used for integration Subsystem interface dependency Class Subsystem dependencies and interfaces
29
29 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Environment/physical viewpoint ViewpointUML diagramDescription Deployment Mapping of software to hardware for distributed systems Physical dataDeployment Physical view of a particular database ProcessDeployment Show the processes of a particular system instance Process stateState Show the dynamic states of a process
30
30 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Roles of Software Architect
31
31 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Outline Roles of software architect and relation with other roles Skills required for software architect Key approaches to lead software architecture team Traps and pitfalls associate with software architect
32
32 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Importance of software architect Lack of goof software architect is a part of the lack of good leadership in projects Software architect defines a large part of shared vision of software The idea of the development team about what the final product will be, the effect the software will have and the goals of organization The final architecture will balance the conflicting interest of the various stakeholders
33
33 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Activities for defining shared vision Analysis the problem domain Risk management Requirement management Interface design Technology roadmap management Determination of implementation approaches Definition of an architecture that meets the system requirements, goal of organization, project budget and schedule Oversight of the mapping from the architecture to the design and implementation Communication of software architecture to technical and non- technical audience Maintenance of software architecture during system life cycle
34
34 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Other software architecture approaches 4+1 views RM-ODP viewpoints Bass architectural structures Hofmeister software architecture views
35
35 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) RM-ODP viewpoints Referenced Model for Open Distributed Processing (RM-ODP) An ISO standard Provides a framework for the development of standards related distributed processing Defines the important properties of distributed systems; openness, integration, flexibility, modularity, federation, manageability, provisioning of quality services, security, and transparency
36
36 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) RM-ODP viewpoints Enterprise viewpoint Information viewpoint Computational viewpoint Engineering viewpoint
37
37 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Bass architectural structures Does not use UML Structures Module structure Conceptual Process Physical Uses Calls Data flows Control flow Class structure
38
38 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Hofmeister views Conceptual view Module view Execution view Code view
39
39 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Stages of design High level design High level data structure Architecture Low level design-code design Algorithms Low level data structures Executable design Very lower level of detail
40
40 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Types of design Data design Architectural design External interface design Algorithmic design
41
41 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Design techniques Require some sort of decomposition Modular decomposition Data oriented decomposition Event oriented decomposition Outside in design Object oriented design
42
42 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Architectural view -2 Which structure are used, and why? Common view include Module Process Uses Class Data flow Class physical
43
43 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Typical roles and responsibilities Requirements Technical risk Analysis of problem domain Design of overall software Reviewer and approver of deliverables Mentoring of design and developers Integration and test support Implementation support Team lead Laison to project management
44
44 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles Project management Responsibilities Program planning, subcontract management, supplier management, software estimation, release management, operation management Relation to software architect Software architect works with project management in definition of release contents and prioritization of features included or omitted from a release
45
45 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) Development team managers Responsibilities Managing individual development teams Relation to software architect These managers should clearly understand the interface they provide and consume to other development teams and external entities High level aspects (COTS tools for interfaces, complexity of development, modification of each interface)
46
46 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) System architect/ chief engineer Responsibilities Overall system design and delivery Technical leadership pf the systems engineering, software development, hardware design, network design, even test organizations Relation to software architect Interfaces between development teams, external interfaces, requirements related issues Identify and resolve significant technical issues
47
47 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) Chief software engineering Responsibilities Ensures the process is followed thoroughout the development life cycle. Relation to software architect To make sure the delivered software meets the requirements and the interface and port definitions match by those defined by software architect team.
48
48 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) Hardware architect Responsibilities Selecting and configuring of hardware Relation to software architect Software architect provides low level requirements for selecting hardware Hardware architect informs hardware restriction to provide requirements Software architect makes sure the software architecture id defined within the constraints of the hardware.
49
49 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) Network architect Responsibilities Defining the LAN and WAN design and configuration Relation to software architect Communicate for defining network requirements Defines constraints implies by network back to software architect
50
50 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) Technical leads of each release Responsibilities Deliver each major release Relation to software architect Communicate for technical issues Software architect deliver a set of architecture views to the technical lead Communication and interfaces with previous release
51
51 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) Data architect Responsibilities Definition, development and documentation of the data architect. Relation to software architect A member of architecture team. Software architect have final approval of the data architecture.
52
52 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) System engineering leads Responsibilities Responsible for delivering the system requirements Relation to software architect Software architect review these requirements to make sure they can be delivered Given the project constraints Provide feedback to the system engineer
53
53 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Relation to other key roles (con) Software system engineering lead Responsibilities Translates and maps the requirements from higher level system group into lower level requirements Relation to software architect Software architecture will often be provided th the organization SSE team will evolve the software architecture in translating requirements
54
54 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Skills and background for the architect Extensive software design and development Technical leadership Team facilitation skills Communication skills Technical skills Knowledge of component communication mechanisms Knowledge of domain Abstraction skills
55
55 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Traps and pitfalls Clear definition of leadership Reporting structure for the software architect Geographical location of software architect and technical leads Architecture team size and composition Software architect lifecycle participation
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.