1 Introduction

pdf

School

The University of Sydney *

*We aren’t endorsed by this school

Course

5620

Subject

Electrical Engineering

Date

Oct 30, 2023

Type

pdf

Pages

39

Uploaded by MateCaribou3742

Report
The University of Sydney Page 1 Week 1: Introduction to Software Architecture Presented by Dong YUAN School of Electrical and Information Engineering dong.yuan@sydney.edu.au
The University of Sydney Page 2 The 1st University in Australia (1850) Computer Science ranked 5 stars in Australia (4 universities in total)
The University of Sydney Page 3 Contents About Me and This Course About Software Architecture Project Theme
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 4 About Your Instructor Dong Yuan Senior Lecturer, School of Electrical and Information Engineering Contact Information: Email : dong.yuan@sydney.edu.au Office : Rm. 323, PNR Building Phone: 8627 2007 My research: Cloud computing, AI, Internet of Things, etc. Tutors: Fan Huang fan.huang@sydney.edu.au Laicheng (Allen) Zhong laicheng .zhong@sydney.edu.au
The University of Sydney Page 5 Objectives of This Course 1. Teach/Learn the fundamentals of software architecture design . 2. Teach/Learn the fundamentals of model-based technologies supporting architecture design . 3. Implement the design with the most recent software development model and latest technologies .
The University of Sydney Page 6 Course Topics Introduction Software Architecture Model Based Software Engineering Fundamentals Requirements Modeling Architectural Design and Modeling Modeling Structure Modeling Behaviour Software Development Process Models Practical and Advanced Topics Metamodeling Software Modeling Languages Security in Software Architecture New Technologies and Software Modelling
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 7 Software Engineering vs. Computer Science IT fundamentals & programming Software Engineering Computer Science Broad knowledge of engineering domains In-depth knowledge of computer science areas Career-wise difference: Specialist or Generalist? IT Companies or Others?
The University of Sydney Page 8 Course Prerequisites Basic familiarity with UML However, we will be doing a deep dive into UML and its semantics UML is not helpful to coding in many cases (e.g., Agile). But it is a good language for communication. Working knowledge of at least one common programming language C/C++, Java, C#, etc.
The University of Sydney Page 9 Assessment Project (60%) Stage 1(35%): architecture design and modelling, due in week 8 (tentative) Report submission Stage 2(25%): implementation, due in week 13 Code submission and in-class demonstration Find your group mates (3-5) and register your group on Canvas. Exams (40%) Mid-semester exam (10%), online quiz, in week 10 (tentative) Final exam (30%), close-book, in exam period
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 10 Lab and Tutorial (all sessions are online) Lab Sessions: Practical exercises in lab about aspects of the unit and project. Tutorial Session: Lecture Review, Lab related materials and Q&A (Optional) Email your tutor the questions 24 hours before the tutorial Software Tools/Services for Lab StarUML IBM Rhapsody Developer IDE (e.g. Eclipse, Pycharm Spring Tools Suit, Papyrus UML, EMF&Epsilon) Amazon Web Services Etc.
The University of Sydney Page 11 Contents About Me and This Course About Software Architecture Project Theme
The University of Sydney Page 12 Software Architecture What Do We Mean by “Architecture”? Why Architecture is Important and When A Modern Architecture Design Process
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 13 What is Software? Software is anything that tells hardware what to do and how to do. Software projects could be massive and large-scale Software projects could be very diverse Software Hardware A collection of instructions, often in the form of code, which tell the computer how to act. The platform, often in the form of a machine, which actually completes the work
The University of Sydney Page 14 Software Engineering An Engineering Discipline focuses on the development and use of rigorous methods for designing and constructing software artifacts that will reliably perform specified tasks Beyond IT Skill Set Engineering math Professional engagement Required other engineering domain knowledge
The University of Sydney Page 15 Software Engineering and Computer Science pre-1990 2020 ~ ACM Computing Curricula 2020
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 16 Software Engineering Software Design Software Architecture Software Architecture Kind of software design in the software engineering domain. Architecture details are subset of the software design.
The University of Sydney Page 17 Software Architecture Software design is too complex, time consuming, and involves too many risks. Use model to simplify the problem. The software architecture of a system is the set of structures needed to reason about the system , which comprise software element , relations among them, and properties of both (Clements, Bass, Kazman 2012)
The University of Sydney Page 18 The IEEE 42010 Standard “IEEE Recommended Practice for Architectural Description of Software- Intensive Systems”, ISO/IEC/IEEE 42010 ( http://www.iso-architecture.org/ieee-1471/) Goals: To facilitate the expression and communication of architectures Specification/design Documentation Define key terms, principles, and guidelines Provide a framework for other related IEEE standards
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 19 What is an Architecture (IEEE 42010)? System : A collection of components organized to accomplish a specific function or set of functions. Architecture : The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. “fundamental” irrelevant details are omitted abstraction “organization” structural and behavioral “components” architecture involves decomposition “relationships” the manner in which parts are assembled is fundamental to an architecture “guiding principles” like the basic tenets of a constitution
The University of Sydney Page 20 Services Layer Application Layer End-to-End Behaviors A Simple Example Architecture Model Layering Structure Fuber Gruber Boobler Dabbler Horizontal Structure NB: In our discussions on architecture, we will cover both the structural and behavioral aspects of software architectures To support high availability: the system must not have a single point of failure Design Principles
The University of Sydney Page 21 Contents What Do We Mean by “Architecture”? Why Architecture is Important and When A Modern Architecture Design Process
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 22 System Inception: Architects and Stakeholders End-user Developer Sales and field support Development manager System administrator Architect Functionality Ease of use Performance and throughput Reliability Ease of customization Price Development costs, skills On time delivery Stability and maintainability Ease of integration Ease of diagnosing problems Ease of introducing modifications Testability and tractability Structure and dependencies between parts Ease of installation Complexity Functionality Technology Skills Process Organization and culture Qualities Business Concerns Slide courtesy of P. Kruchten
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 23 Architecture and Evolution Client/Server versus a N-Tier Architectural Style The architecture of a software system is a fundamental determinant of its capacity to support evolution
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 24 SOA: Service Oriented Architecture
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 25 Architectural Decay The gradual corruption of architectural design decisions through seemingly minor fixes and modifications Architectural decay is due to two principal factors The difficulty of comprehending an architecture by observing details The difficulty of enforcing architectural design decisions in the process of implementation
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 26
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 27 Contents What Do We Mean by “Architecture”? Why Architecture is Important and When A Modern Architecture Design Process
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 28 When Architecture Matters... During inception and design Facilitates system consistency and simplifies design Helps predict key system qualities. Helps identify requirements! During implementation Helps identification and allocation of development work Guides finer-grained design decisions During maintenance and system evolution Reduces likelihood of architectural decay during fine-grained maintenance Identifies feasibility and potential cost of potential evolution alternatives
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 29 Why is Architecture Important... The architecture is a carrier of the earliest design decisions. An architecture will inhibit a system’s driving quality attributes and the early prediction. Provides reasoning about managing changes. An architecture will improve cost and schedule estimates. Architecture-based development focuses on the assembly of components A documented architecture enhances communication among stakeholders. An architecture is a transferable and reusable model.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 30 Necessary Qualifications of an Architect The ability to design: Capacity for abstract thinking Seeing beyond the technology/code Focus on the product and its usage/users Technical depth and skills are not enough Deep knowledge and understanding of the problem domain Including previous solutions to similar problems The technical knowledge to implement. Deep knowledge of and experience with relevant software and computing technologies General software engineering and programming Architectural description languages and tools Model-based software engineering techniques and tools Relevant platform technologies System analysis methods
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 31 Contents What Do We Mean by “Architecture”? Why Architecture is Important and When A Modern Architecture Design Process
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 32 Architectural Specification as an Iterative Process End-user Developer Sales and field support Development manager System administrator Architect Complexity Functionality Technology Skills Process Organization and culture Qualities Business Concerns Comp1 Arbiter Comp2 Comp3 Display Design Iteration Refining the design over time until it satisfies all the requirements
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 33 Risk-Driven Iterative Development for Systems Design Requirements 6.2Refine 5.2.Extract 5.1Refine 9.Analysis feedback Design Model 6.1Design System Model 2.Design 4.Analysis feedback Stakeholder Needs System Requirements 1.Extract Implementation 15.Refine/Generate 3. Analyze 7.Analyze 8. Analysis feedback Implementation Model Implementation Requirements 10.2.Extract 10.1.Refine 11.2.Refine 14. Analysis feedback 11.1.Design 13. Analysis feedback 12. Analyze 16.Verify NOTE: Different projects may have fewer or more levels of refinement and may choose different traversal paths Feasibility feedback Recycle due to feasibility issues
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 34 Architectural Exploration Reduces Risk Repeated evaluation of architectural models (using simulation, formal and informal analyses) Early experience with the design Early detection of potential design flaws less expensive to fix t Design Risk Problem Understanding/Confidence Critical understanding threshold reached through implementation evaluation Critical understanding threshold reached early through model evaluation T1 T2 Cost of Design Change
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 35 Contents About Me and This Course About Software Architecture Project Theme
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 36 Large Language Model Development of IT in recent 10 years Cloud -> Big Data -> AI/5G -> IoT/Edge Computing applications XaaS becomes the main way for delivering/using applications A large language model (LLM) is a language model, characterized by its large size enabled by AI accelerators- based preprocessing of vast amount of text data mostly scraped from the Internet. AI (deep learning) AI -> Machine Learning -> Neural Network -> Deep Learning Computer vision and NLP
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 37 Supporting Technologies ChatGPT Other LLM tools Bard from google, SenseNova from SenseTime, Claude 2, etc. LLM tools for CV Adobe Firefly Palette Microsoft Bing Image Creator Etc.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
The University of Sydney Page 38 Applications Social Networks Health Entertainment Manufacturing Education Etc.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
Thank you! End
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help

Browse Popular Homework Q&A

Q: 1. Given f(x)=-(x-2)² +4, find analytically a. Vertex: b. Range (in interval notation): c. Vertical…
Q: 20) f(x) = |x| g(x) = -5x + 2 Select the correct value for go ƒ (2) .
Q: when processing a query, materialized evaluation has better performance than pipelined evaluation.…
Q: Armadillos spend a lot of time digging in soil find insects and plant roots to eat as well as make…
Q: 8. In the figure above the horizontal grey bar is massless accelerating upward at 1 m/s²2. (Hint:…
Q: True or False? A network schedule can have more than one critical path.
Q: 16.9 Which of the following solutions can act as a buffer: (a) KCI/HCl, (b) KHSO4/H₂SO4, (c)…
Q: Describe the major differences between soil horizons that form in a temperate climate like in…
Q: Joyce consumes x1 and x2 together in fixed proportions. She always consumes 1 unit of x2 for 2 units…
Q: How can we prevent wasting processing cycles when a central processing unit executes several…
Q: What is the method used in ion exchange filtration?
Q: Use the given Normal curve to answer the question. 16 28 40 52 64 -0.58 76 88 What is the z-score…
Q: How do I find Concentration? flask Calculate solution Concentration (M) Volume stock of 0.40 M…
Q: You are given a vector in the xyxyxy plane that has a magnitude of 89.0 units and a yyy component of…
Q: Suppose a linear function has a vertical intercept at y = -9 and a horizontal intercept at x = 15.…
Q: Determine Px and o- from the given parameters of the p μ = 78, o=9, n=81 H₂= 0₁₂ =
Q: Example A04-04. Replace the force system acting on the post by a resultant force and couple moment…
Q: Suppose a product's revenue function is given by R(q) 4q? + 500q , where R(q) is in dollars and q is…
Q: A car travels around a circle at a constant speed of 20.0 m/s. A magnetic compass in the car…
Q: Consider the function f(x) = cos and its graph shown in the figure. (a) What is the domain of the…
Q: Professor Brown and Professor Sides both teach Statistics at the same college. They each have two…
Q: The balance in the equipment account is $3,240,000, and the balance in the accumulated…