2-Oct-15 Bojan Orlic, TU/e Informatica, System Architecture and Networking 12-Oct-151 Homework assignment 1 feedback Bojan Orlic Architecture.

Slides:



Advertisements
Similar presentations
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Object-Oriented Analysis and Design
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Testing and Quality Assurance
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
The Architecture Design Process
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Object Oriented Design. Goals  Levels of abstraction  Workshop: group meeting for Pragmatic Web homework.
Week 8 Implementation Design Alex Baker. Implementation Design System Design – Describes what the system should do Implementation Design – Describes what.
 2008 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
 2008 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
30-Jun-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 1 OOTI Talks
Common Mechanisms in UML
Course Instructor: Aisha Azeem
Distribution of Marks Internal Sessional Evaluation Assignments – 10 Quizzes – 10 Class Participation Attendence – 5 Mid – Term Test – 25 External Evaluation.
An Introduction to Rational Rose Real-Time
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Chapter 10 Architectural Design
UML - Development Process 1 Software Development Process Using UML (2)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Lecture 9: Chapter 9 Architectural Design
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
1 Relational Expressions Relational expressions: –Expressions that compare operands –Sometimes called conditions –Evaluated to yield a result –Typically.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Conceptual Modelling – Behaviour
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
C++ Inheritance Data Structures & OO Development I 1 Computer Science Dept Va Tech June 2007 © McQuain Generalization versus Abstraction Abstraction:simplify.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
Agent program is the one part(class)of Othello program. How many test cases do you have to test? Reversi [Othello]
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
 System Requirement Specification and System Planning.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Unified Modeling Language
What is an Architecture?
OOTI Talks Nov-18 Johan J. Lukkien,
What is an Architecture?
OOTI Talks Apr-19 Johan J. Lukkien,
Chapter 5 Architectural Design.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Development Process Using UML Recap
Presentation transcript:

2-Oct-15 Bojan Orlic, TU/e Informatica, System Architecture and Networking 12-Oct-151 Homework assignment 1 feedback Bojan Orlic Architecture of Distributed Systems 2010/2011

Evaluation of assignment 1 Goal 1: change point of view when thinking about software architectures –thinking about stakeholders, types of views, building blocks, connectors, semantics, clarity –thinking about how can diagrams capture relevant extra-functional requirements or be used for discussion about them –thinking about presence of complex concepts e.g. distribution on diagram representing some architectural view evaluation of goal 1: goal is achieved successfully by most students Goal 2: practice providing proper motivation for educated guesses regarding software architectures evaluation of goal 2: goal is achieved successfully by some students (difference in marks arises dominantly from motivation provided) 2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 2

2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 3 Problems in approach Working alone instead of in teams Writing a story instead of answering the questions Systematically omitting to answer some questions Not motivating answers at all Providing incomplete motivation Providing incorrect motivation Choosing wrong option

Views 2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 4 Same diagram can belong to multiple views. Diagram that is specifying division of system in modules, but no distribution of the modules to nodes, cannot belong to physical view. Diagram that shows distribution of modules to nodes cannot be just process view and is definitely not logical view. Use case diagram does not belong to process view. Defining set of required functionalities is not the same as defining processes “+1 view” (scenario) view is often not mentioned for appropriate diagrams. Often (only) logical view was used instead. Type of diagram used cannot be only motivation for placing a diagram into certain view. Views are more related to consistent viewpoint on a system (e.g. defined by a role) and this can be expressed via different diagrams.

Stakeholders 2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 5 End-users can’t be stakeholders in a diagram specifying design details (e.g. class diagram or state diagram ). They especially cannot be only mentioned stakeholders for that diagrams. Even though sequence diagram might be understandable to end- user, it has end-user as stakeholder only if it is related to usage of the system (and not to its inner design). A diagram being useful for logical view does not imply end-users as (main) stakeholders. Diagrams relevant for end users (e.g. use case diagrams) are not only relevant for end users. They are used by other roles to communicate system properties to users. Developers are not only stakeholders of a diagram that represent division of large system into modules. For developer its just a context.

Extra-functional requirements 2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 6 It is possible to use a diagram to talk about extra-functional requirements that are not explicitly stated on a diagram. Still, the discussed quality attributes need to be related to the diagram, that is the diagram needs to carry some information relevant for those qualities. Diagram that shows dependency of executables on libraries and source code files, as well as location of the files, does not speak about portability. Especially not only about it. Phrase “Extra functional requirements” does not have same meaning as extending the system with additional functional requirements, although modifiability is one of many extra-functional requirements. Sometimes answers just do not make much sense as in “Maintainability: A maintainable system usually exhibits availability, which indicates that the system is available to perform its functions on behalf of its users. Since the model is a distributed network, we expect low maintainability. “

Concept of distribution 2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 7 Concept of distribution is related to notion of components making up the system being located on different nodes. Distribution of functionality to modules, and distribution of files to directories are not really kinds of distribution we had in mind with question. Division of system into modules without assigning them to nodes, does not have explicit concept of physical distribution, but it creates preconditions for it. Correct answer with wrong or odd motivation as in “there is concept of distribution which may be observed from the branched nature of the model.“ is not counted as correct.

Building blocks 2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 8 Building blocks and connectors should be clearly identified, as well as their roles. It does not suffice to identify type of diagram (e.g. this is UML class diagram) or elements. Often, there is omission to answer whether building blocks and connectors are conceptual or physical. Sometimes it is hard to tell whether wrong answer is lapse or lack of knowledge, as for example when (even though diagram has associated legend with naming for elements) connectors between states in state machine diagram are called transactions, or when states in same diagram are called “processes and tasks”. Similar dilemma is when connectors in the diagram showing compilation dependencies are named “broadcast and compilation dependency”

Clarity & semantic 2-Oct-15 Johan J. Lukkien, TU/e Informatica, System Architecture and Networking 9 Some students completely omit to answer question about clarity of a diagram. Instead they talk about meaning of the diagram, which often turns into repeating the story about building blocks, but avoid to give their opinion on clarity and semantics. Sometimes artificial remarks are made as in “Missing are the extend- and include relations, which we would expect from this kind of diagram.“ for use case diagram, or as in “The semantic is not clear, we can know the relationship but the information about the class members, such as attributes and methods is not given.” for class diagram. Some comments are odd as in “The semantic is somewhat clear in terms of user requirements being specified but it terminates abruptly. “ for the sequence diagram.