SA Analysis and Design

Size: px
Start display at page:

Download "SA Analysis and Design"

Transcription

1 SA Analysis and Design Software Architecture VO ( ) Roman Kern Institute for Interactive Systems and Data Science, TU Graz Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

2 Outline 1 Terminology 2 Development Process 3 Requirements 4 Requirements Analysis: Example 5 Architectural Analysis & Design 6 Architectural Views Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

3 Terminology Most important terms in relation to software architecture Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

4 Questions What is software architecture? What is software? What is architecture? What is a software system? What is a system? Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

5 Definition Latin word systema meaning a whole consisting of several parts or a complex whole A system is a set of elements (components) that are connected to each other to form a whole The components composition is called system structure Mostly, systems perform a certain function or serve a particular purpose E.g. an operating system The structure of a system might be quite complex Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

6 Additional Definitions [A system is] an integrated composite that consists of one or more of the processes, hardware, software, facilities and people, that provides a capability to satisfy a stated need or objective. IEEE [A system is] a set of resources that provide services that are used by an enterprise to carry out a business purpose or mission. System components typically consist of hardware, software, data and workers. Cantor, 2003 Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

7 Components interaction To serve their purpose the system components interact with each other E.g. CPU, memory, I/O devices These complex interactions are called system behaviour Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

8 System boundaries Typically, there are boundaries between the system and its surroundings E.g. computer, humans The environment provide input to the system, and the system answers with output E.g. a search query as input to Google, a list of search result as output The dependencies of outputs on the system inputs are typically complex Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

9 Definition summary Systems serve a purpose Systems have a structure Systems have behaviour Systems take input(s) from their environment and produce output(s) Systems and their properties are very often complex Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

10 Types of systems Natural systems, e.g. biological, astronomical, etc. Man-made systems, e.g. engineering system Hybrid systems, e.g. a mix between man-made and natural phenomena Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

11 Software systems Software is collection of programs, related data, and related documentation. Software is a conceptual entity, whereas hardware is a collection of physical entities (devices). A software system is a system in which all of its components, their connections and interactions are software entities. A software system runs on a specific hardware. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

12 Models of a system Mostly, systems are complex, e.g. huge number of components Sometimes, complex interactions, e.g. the Web To study complex natural systems we create models of systems Model is a simplified view of the system that focuses on a single aspect of a system Typically, multiple (interdependent) views to study multiple aspects Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

13 Models of man-made systems We create models of natural systems to understand them better We create models of engineering systems to be able to build them Planing model, requirements model, structural model, behaviour model, implementation model, etc. More models specific for software: run-time model, software design model, usability model, etc. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

14 Models Definition Models provide a specific description, or content, of an architecture. For example, a structural view might consist of a set of models of the system structure. The elements of such models might include identifiable system components and their interfaces, and interconnections between those components. IEEE Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

15 Model abstraction and granularity level Models can be created at varying levels of abstraction and details E.g., an object-oriented model of a car At the lowest detail level: spark plug, brake disk, etc. At the intermediate detail level: car has engine, wheels, brakes, etc. At the highest detail level: car objects with variables, interacting with other objects OO programming model abstracts assembly, operating system, hardware, Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

16 Model abstraction and granularity level Figure: Car Components, image source: Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

17 Model abstraction and granularity level Figure: Car components at a very fine level of granularity, image source: Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

18 Benefits of Models Advantages of using models Detecting errors and omissions early in the life cycle Examining the relative merits of different options (e.g. debate with colleagues) Understanding the impact of change Assisting with project planning Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

19 Definition A system architecture is an integral collection of related system models at different levels of abstraction and granularity. An initial system architecture is designed before the actual development of the system. This architecture governs the system development. Mostly, the initial system architecture is iteratively updated during the system development. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

20 Definition A software architecture is a collection of models of a software system at various abstraction and detail levels. The models describe: the system as a whole system components component connections how component interact to fulfill the system purpose. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

21 When do we need a software architecture? Only complex systems Complexity can be (sometimes) estimated Large number of users, large amounts of data, large number of interacting components, complex functions, etc. Sometimes you do not know this beforehand, e.g. system for a start-up company Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

22 Examples for complex systems Wikipedia Example: Huge amount of documents E.g. managing tens of millions of documents How to store documents, how to search in documents? How to create, edit documents? User access rights? How to display documents? How to print documents? Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

23 Examples for complex systems Massively multiplayer online role-playing games (MMORPGs) Example: Large number of users Large amount of players interacting with each other (e.g. millions of users) How to distribute the load? How to optimise the latency? How to detect cheaters? Are there banned users? Integrate billing (in game purchases), etc? Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

24 Examples for complex systems Amazon Example: Complex interactions Product recommendation system Which users have similar interests to other users? What should be tracked? Clicks? Purchases? Comments? Are there privacy issues? Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

25 Facebook, Google, Twitter Combine all of the complexities discussed above Large number of users, huge amount of data, complex interactions Complex connections: networks, social networks, etc. Underlying all of these is the Web Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

26 When a software architecture is not needed? Simpler systems E.g., less command line tool in Unix When there are proven designs and we know about them, e.g. a frontend for a database We need the experience in developing this particular kind of a system, i.e. we developed many such systems We need experience to make the distinction Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

27 Analogy with classical architecture Making buildings by G. Booch Building a dog kennel: no architectural design is needed Building a house: you might need an architectural design but if the builders are good it is not necessary Building a skyscraper: you definitely need an architectural design Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

28 Development Process When does software architecture take place? Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

29 Methodology Common method for software architecture Attribute Driven Design (ADD) Quality attributes as starting point Tactics to derive the architecture Siemens 4 Views (S4V) Identify key architectural challenges Iterate using views: conceptual, execution, module, and code Rational Unified Process (RUP) Driven by use-cases, non-functional requirements and risks Iterations, which lead to executable software Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

30 Methodology Different software development processes have software architecture as a part of the process Rational unified process Spiral development method Agile development method Evolutionary rapid development Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

31 Place of SA in SDP - An Example Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

32 Methodology After the initial requirements analysis but before software design The first architecture is also a communication basis with the customer Inputs for the development of the architecture: 1 Requirements 2 Context (technical, organizational, business, ) Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

33 Methodology Initial phase is critical for all following phases Early decisions are cheaper than later ones Keep the architecture conceptually simple e.g. avoid too many features to creep in (gold plating) Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

34 Simplified Workflow Exemplary, simplified step-by-step guide to start the conceptual architecture 1 Identify actors with the systems (e.g. external system, users) 2 Define use-cases 3 Identify functional requirements 4 Identify non functional requirements 5 Prioritise requirements 6 Identify data flow 7 Define data items Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

35 Requirements Types of requirements. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

36 Analysis At the beginning there is always a customer who wants a specific software system Customer wishes are always informal Approaches: Interviews, some documents, some Excel tables, We need to analyse such informal records and structure it Requirements engineering is a huge field but we just illustrate here one possibility Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

37 Analysis The results of the requirements analysis: 1 Functional requirements 2 Non-functional requirements (a) Runtime qualities (b) Non-runtime qualities 3 Contextual requirements Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

38 Functional requirements A technical expression of what a system will do Arise from stakeholder needs Approaches (a) Structured languages: software requirements specification (b) Formal models: e.g. state-charts (c) Use cases: structured description of user interactions with the system (d) User stories, e.g. narratives and personas (e) Mock-ups, e.g. sketches of the UI Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

39 Non-functional requirements Other needs than directly functional or business related Generally expressed in the form of quality attributes (x-abilities) Runtime quality attributes e.g. performance, usability, reliability, security Non-runtime quality attributes e.g. maintainability, evolvability, testability, reusability, integrability, configurability, scalability Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

40 Contextual requirements What technologies are available? Existing internal components Existing off the shelf components, e.g. databases, middleware Expertise of the development team (and availability of resources) Organisation of teams, e.g. geographically dispersed Previous experience of users/customers Technical, business, market, legal, ethical, Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

41 Requirements Definitions Definition Functional Requirements Functional requirements describe the behaviour (functions or services) of the IT system that supports the users goals, tasks or activities Malan, 2001 Definition Non-Functional Requirements Non-functional requirements include constrains and qualities. Malan, 2001 Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

42 Requirements Definitions Definition Constraints A constraint is a restriction on the degree of freedom we have in providing a solution Leffingwell, 2000 Definition Quality [System] qualities are properties or characteristics of the system that its stakeholders care about and hence will affect their degree of satisfaction with the system Malan, 2001 Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

43 Approach: Narratives A narrative is a concrete description of a user s interaction with the system Build up a collection of short narratives Together they paint a picture of the system Serve as distillation of the expectations of end-users Iterative process involving both, end-users and analysis/architects System narrative: informal narrative, which describes the system itself Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

44 Approach: Personas A persona is a fictional character with certain characteristics Each persona has its own goals and expectations Description of the persona, e.g. age, job, background Interaction of the persona with a system need practice to come up with the right personas Example: one persona representing a manager, one persona representing an engineer Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

45 Requirements Analysis: Example WNAP Simple example on how to tackle requirements. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

46 Example Application - System description I Web-based Navigation Application: WNAP A simple and highly usable system for navigation is needed. It has to allow to navigate to the nearest store (e.g. Billa, Spar, Bipa), the next gas station or the best hotel, using the optimal route. Where there are multiple ways how the quality of the route can be defined: shortest, quickest, most economical, cheapest, pleasant (e.g. quietest). In the future there should be more options on what an optimal route looks like. The application has to consider which means of transportation the person should use (e.g. car, bike, foot), taking into account the current weather conditions. If a public transport is selected it should indicate, which tram or bus line to take. The application should allow in place purchase of tickets. The route should be shown on a map to demonstrate how it looks like. The estimated travel time should be displayed. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

47 Example Application - System description II Web-based Navigation Application: WNAP If there are multiple about equally good routes, the user can choose which one she wants to take. The system is a Web-based system and the users should be able to operate the system by using a standard Web browser. The users need not install any additional plug-ins to operate the system. In particular, browser back button must be working at all times and it should be possible to bookmark places at all times. Each page and each important application state needs to have a unique and human-readable URL. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

48 Example Application - System description III Web-based Navigation Application: WNAP The application should be intuitive to use and aesthetically pleasing, the user should not wait longer than a few seconds for each request. The colour scheme of the design can be selected by every user individually. The language of the system can be freely chosen. When the user enters a new trip, a list of popular places should help the user to quickly create routes. It is expected that the application will be used by about 1,000,000 users and about 1,000 users will concurrently search for routes. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

49 Example Application - Tasks Tasks of the software architect Identify and document use cases Create aids for communication Narratives Personas Mock-ups Iterate with customer (and other stakeholders) Extract requirements Weight requirements (an importance) Design of architecture and system core development cycle begins In the following slides, a number of (not exhaustive) examples use cases, personas, mock-ups and requirements are given. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

50 Example Application - Use Cases Example Use Case 1 Name Search route Aim User is searching the optimal route from A to B Actors User, System Precondition Logged on user Trigger Users trigger a new search Includes 1 User starts a new search 2 System shows options to choose from (e.g. mode of transportation) 3 User specifies the preferred choice Extensions 1 User starts an expert search and specifies criteria 2 User orders tickets for public transport Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

51 Example Application - Use Cases Example Use Case 2 Name Buy ticket Aim User buys tickets for all the public transport on the route Actors User, System, External Service Precondition Logged on user, selected route Trigger Users confirms a route Includes 1 System connects to service of public transport (using the user credentials) 2 Public transport service issues a order 3 User confirms order 4 System delegates the confirmation and displays the ticket numbers Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

52 Example Application - Use Cases Example Use Case 3 Name Assemble popular places Aim Collect a list of places, ranked by their popularity Actors Sysadmin, System Includes 1 Sysadmin collects the log files and analyses them 2 Creates a ranked list of popular places 3 Sysadmin uploads the new lists and triggers the system to use the new list Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

53 Example Application - Persona Example Persona Marina, 17 years old, pupil She regularly needs to navigate from her school to a public library to rent books for her home work. When it is raining she cannot take her bike and the system should route her via the public transport network (e.g. bus). The system should be aware of that she has a seasonal ticket. For all her navigation she uses her mobile phone, which is equipped with the latest version of the Firefox web browser. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

54 Example Application - Mockup Web Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

55 Example Application - Mockup Mobile Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

56 Example Application - Functional requirements UR1: The system is a navigation tool. The system can calculate the following optimal routes. UR1.1: Shortest path UR1.2: Fastest route UR1.3: Most economical (lowest CO2 emissions) UR1.4: Cheapest UR1.5: Pleasant UR1.5.1: Quietest UR1.5.2: Most sightseeing spots UR1.5.3: Along rivers and through parks Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

57 Example Application - Functional requirements UR2: The places are stored in a database UR3: The connections between the places are stored in the database UR4: The connections need to contain the transportation mode and provider UR5: The administrator can add/remove new places and connections UR6: The user can search for places Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

58 Example Application - Functional requirements UR7: The system needs to interact with external services UR7.1: The system needs to buy tickets for the tramway UR8: The system needs to draw the route on a interactive map UR9: The system needs to provide user management UR9.1: Register new users UR9.2: Log-in / Log-out UR9.3: Store user preferences UR9.4: Store credentials for purchase Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

59 Example Application - Non-functional requirements UR1: The system is simple, usable and didactically sound. Usability UR2: The system needs to support multiple users simultaneously. Performance How many users? UR3: Authentication should be supported. Security UR4: User-perceived performance must be acceptable Performance and Usability How many seconds at max users can wait? UR5: Web-based system should be available at all times. Reliability Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

60 Example Application - Non-functional requirements UR6: Human-readable URLs. Evolvability, reusability, maintainability, testability, integrability UR7: Extending the system with new optimal routes algorithms. Evolvability, reusability, maintainability, testability, integrability, configurability UR8: Reliability of a Web-based system. Testability UR9: Multiple users. Scalability Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

61 Example Application - Contextual requirements UR1: Web browser. UR2: Valid (X)HTML, at least (X)HTML Transitional. UR3: No browser plugins are allowed. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

62 Practical Guidelines Often a client (or other stakeholder) requests certain functionality/qualities/etc. Request requirement Shopping cart mentality by clients Typically a client wants all possible functionality Business oriented vs. technical Clients will often not understand requirements demonstrate the benefit (or the consequences) Often requests are too general (to be transformed into requirements) Requests should be measurable Clear to state whether the request has been fulfilled (or not) E.g. the system will have a state-of-the-art user interface Often requests are issued by the wrong people E.g. usability should be judged by the real target group (end users) Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

63 Architectural Analysis & Design Analyse structure and behaviour. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

64 Analysis We analyse the requirements and try to identify so-called key concepts Understanding of the domain Static part of the domain We also try to identify key process and activities Dynamic part of the domain Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

65 Design Design is the process of creating models (recollect the definition of SA) Two basic types of architectural models Structure and behaviour Architectural structure is a static model of a system (i.e. how the system is divided into components) Architectural behaviour is a dynamic model of a system (i.e. how the components interact with each other to perform some useful work) Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

66 Design Diagrams as the main tool for design Learn while doing (draft sketches) Create a shared understanding (e.g. in the organisation) They support collaboration They help explain the architecture Serve as (permanent) documentation of the architecture Deepen the understanding of the architecture There is not a standard for software architecture (UML might be to structured) Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

67 Architectural structure The first part is the architectural structure The division of a system into components (e.g. modules) and connectors To represent the model: box-and-lines diagrams (to see at a glance important concepts) It is important to remember that diagrams are only representations of the model Diagrams must always be accompanied by additional material such as text, data models, mathematical models, etc. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

68 Architectural structure What is a component? What is a connector? Components might be subsystems, separate processes, source code packages, Connectors might be network protocols, method invocations, associations, No clear language for diagrams The combination of diagrams and additional material is an architectural model Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

69 Architectural structure Figure: Example of an architectural structure Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

70 Architectural structure In the diagram we have one user-interface and one database component But what is the criteria for deciding what is a component? Separate program modules? Separate threads or processes? Conceptual or functional division? And what about connectors? Network protocols? Callbacks? Request/response cycles? Method invocations? Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

71 Architectural structure What is the level of granularity of a diagram? E.g. for a Web-based system, components are servers and browsers and connector is HTTP But, components of a server are HTTP parser, file I/O, cache, plug-ins, Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

72 Architectural structure Comparison with OO: a component is an object and a connector is a message sent between two objects Because models in OO are very well defined Therefore, we need additional information that accompanies diagrams To describe criteria for decomposition and provide explanations on granularity Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

73 Architectural behaviour Complementing structure is architectural behaviour Interaction of system elements to perform some useful work Functionality vs. behaviour Functionality is what the system can do and behaviour is the activity sequence Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

74 Architectural behaviour Each component has a set of responsibilities Behaviour is the way how these responsibilities are exercised to respond to some event An event may be an action of the user, an event from an external system, or an internal trigger A particular behaviour is an event plus a response in the form of a sequence of component responsibilities Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

75 Architectural behaviour To represent behavioural models we use use-case maps [Buhr 98] It is a graphical notation A use-case map consists of a trace drawn through a structural diagram of the system The path of the trace through a structural diagram shows the sequence of activities The sequence is initiated by an event Each crossing of a component by the trace indicates exercising of a responsibility Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

76 Architectural behaviour Figure: Types of traces in use-case maps Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

77 Architectural behaviour (a) (b) (c) Single trace - all responsibilities exercised sequentially Two traces are consecutive: Equivalent to single trace but shows that continuation is triggered by another event And-Fork: The traces after the line are potentially concurrent (run in parallel) Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

78 Architectural behaviour Figure: Types of traces in use-case maps Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

79 Architectural behaviour (a) (b) (c) N-Way And-Fork: the trace after the fork may be replicated an arbitrary number of times Or-Fork: The trace is split and activity proceeds along one or another path Seq-Fork: The traces after the line are followed in the order indicated by the arrow Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

80 Architectural behaviour Example: Display a selected route Request is sent to the Web presentation layer That layer forwards the request to the application logic, e.g. WNAP business logic WNAP business logic contacts WNAP map renderer to draw the route, then retrieves the data from the database wraps it into an HTML response and sends the response to the Web UI Functionality allows me to display a map with a route Behaviour is the sequence of activities that makes it happen Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

81 Architectural behaviour Figure: Example of architectural behaviour for the use case: display route Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

82 Architectural Views Multiple views on the architecture. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

83 Architectural views We can examine a system from different points of view Different kinds of views Conceptual: components are set of responsibilities and connectors are flow of information Execution: components are execution units (processes) and connectors are messages between processes Implementation: components are libraries, source code, files, etc and connectors are protocols, api calls, etc. Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

84 Architectural views There are other models as well We will mention them but we will investigate only the previous three models Data/information model describes the data Physical model describes servers, firewalls, workstations, Deployment model describes the packaging of components Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

85 Architectural views Each view provides different information about the structure of the system Each view addresses a specific set of concerns All views taken together is the primary means of documenting software architecture Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

86 Architectural views The conceptual architecture considers the structure of the system in terms of its domain-level functionality The execution architecture considers the system in terms of its runtime structure The implementation architecture considers the system in terms of its build-time structure Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

87 The End Next: Conceptual Architecture Roman Kern (ISDS, TU Graz) SA Analysis and Design / 87

SA Analysis and Design

SA Analysis and Design SA Analysis and Design Software Architecture (707.023) Denis Helic KMI, TU Graz Oct 24, 2012 Denis Helic (KMI, TU Graz) SA Analysis and Design Oct 24, 2012 1 / 99 Outline 1 Terminology 2 Development Process

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition

More information

Execution Architecture

Execution Architecture Execution Architecture Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-11-07 Roman Kern (ISDS, TU Graz) Execution Architecture 2018-11-07

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2014-11-19 Roman Kern (KTI, TU Graz) Implementation Architecture 2014-11-19 1 / 53 Outline 1 Definition 2

More information

The Process of Software Architecting

The Process of Software Architecting IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,

More information

Architectural Styles II

Architectural Styles II Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66

More information

Web Engineering. Introduction. Husni

Web Engineering. Introduction. Husni Web Engineering Introduction Husni Husni@trunojoyo.ac.id Outline What is Web Engineering? Evolution of the Web Challenges of Web Engineering In the early days of the Web, we built systems using informality,

More information

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment Copyright Rational Software 2002 http://www.therationaledge.com/content/dec_02/m_uiiterativeenvironment_jc.jsp Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

More information

Design of Embedded Systems

Design of Embedded Systems Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1

More information

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

More information

Architecture of Business Systems Architecture and the Role of the Architect

Architecture of Business Systems Architecture and the Role of the Architect Sandro Schwedler Wolfram Richter Architecture of Business Systems Architecture and the Role of the Architect Lecture Outline Introduction (W) Lecture Overview Architecture & role of the Architect Views

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

Model-based Transition from Requirements to High-level Software Design

Model-based Transition from Requirements to High-level Software Design Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview

More information

Software Development Chapter 1

Software Development Chapter 1 Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic

More information

S1 Informatic Engineering

S1 Informatic Engineering S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS

More information

The ATCP Modeling Framework

The ATCP Modeling Framework The ATCP 2+9+1 Modeling Framework Bobbi Underbakke Adaptive Team Collaboration, Inc. 800.837.0677 atcprocess.com Adaptive Team Collaboration, Inc. March 22, 2005 Chris Armstrong Armstrong Process Group,

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

ADD 3.0: Rethinking Drivers and Decisions in the Design Process ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method

More information

CS3205: Task Analysis and Techniques

CS3205: Task Analysis and Techniques CS3205: Task Analysis and Techniques CS3205: Task Analysis and Techniques Readings (same as before): 1) ID-Book Chapter Establishing Requirements, Ch. 10 (Ch. 9 in course ebook) 2) Chapter 2 from Task-Centered

More information

MIDDLE EAST TECHNICAL UNIVERSITY ENGINEERING FACULTY DEPARTMENT OF COMPUTER ENGINEERING. Vitriol. Software Design Document GROUP MALLORN

MIDDLE EAST TECHNICAL UNIVERSITY ENGINEERING FACULTY DEPARTMENT OF COMPUTER ENGINEERING. Vitriol. Software Design Document GROUP MALLORN MIDDLE EAST TECHNICAL UNIVERSITY ENGINEERING FACULTY DEPARTMENT OF COMPUTER ENGINEERING Software Design Document GROUP MALLORN Merve Bozo Yaşar Berk Arı Sertaç Kağan Aydın Mustafa Orkun Acar Team Leader:

More information

Chapter 8 Visualization and Optimization

Chapter 8 Visualization and Optimization Chapter 8 Visualization and Optimization Recommended reference books: [1] Edited by R. S. Gallagher: Computer Visualization, Graphics Techniques for Scientific and Engineering Analysis by CRC, 1994 [2]

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 2 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents What are software requirements? Requirements Engineering Process Domain

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

UML for Real-Time Overview

UML for Real-Time Overview Abstract UML for Real-Time Overview Andrew Lyons April 1998 This paper explains how the Unified Modeling Language (UML), and powerful modeling constructs originally developed for the modeling of complex

More information

Introduction to Object Oriented Analysis and Design

Introduction to Object Oriented Analysis and Design A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,

More information

index_ qxd 7/18/02 11:48 AM Page 259 Index

index_ qxd 7/18/02 11:48 AM Page 259 Index index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the

More information

1: Software Development and.net. An approach to building software

1: Software Development and.net. An approach to building software 1: Software Development and.net An approach to building software Overview Programming in software development Life-Cycles for software development Object-orientation and modelling Requirements analysis

More information

Unified Modeling Language I.

Unified Modeling Language I. Unified Modeling Language I. Software engineering Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline Software engineering Modeling Unified Modeling Language (UML) UML Diagrams: Use Case Diagram Activity

More information

Software Engineering

Software Engineering Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most

More information

Avancier Methods. Very basic design patterns. It is illegal to copy, share or show this document

Avancier Methods. Very basic design patterns. It is illegal to copy, share or show this document Methods Very basic design patterns It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission of the copyright holder Copyright

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Up and Running Software The Development Process

Up and Running Software The Development Process Up and Running Software The Development Process Success Determination, Adaptative Processes, and a Baseline Approach About This Document: Thank you for requesting more information about Up and Running

More information

SUGGESTED SOLUTION IPCC MAY 2017EXAM. Test Code - I M J

SUGGESTED SOLUTION IPCC MAY 2017EXAM. Test Code - I M J SUGGESTED SOLUTION IPCC MAY 2017EXAM INFORMATION TECHNOLOGY Test Code - I M J 7 1 2 1 BRANCH - (MULTIPLE) (Date : 20.11.2016) Head Office : Shraddha, 3 rd Floor, Near Chinai College, Andheri (E), Mumbai

More information

Software Architecture

Software Architecture Software Architecture L T JayPrakash jtl@iiitb.ac.in Software Architecture (recap) Other Influences on SA Therefore, SA is important and look into its constituents! Every software system has an architecture!

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

Alignment of Business and IT - ArchiMate. Dr. Barbara Re Alignment of Business and IT - ArchiMate Dr. Barbara Re What is ArchiMate? ArchiMate is a modelling technique ("language") for describing enterprise architectures. It presents a clear set of concepts within

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

Recalling the definition of design as set of models let's consider the modeling of some real software.

Recalling the definition of design as set of models let's consider the modeling of some real software. Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous

More information

Course Information. Course Name: M150-A [Data, Computing and Information] Course Material and resources

Course Information. Course Name: M150-A [Data, Computing and Information] Course Material and resources The contents of this Supporting Material document have been prepared from the Eight units of study texts for the course M150: Date, Computing and Information, produced by The Open University, UK. Copyright

More information

SEEM4570 System Design and Implementation Lecture 11 UML

SEEM4570 System Design and Implementation Lecture 11 UML SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More information

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE HIFIS Development Team May 16, 2014 Contents INTRODUCTION... 2 HIFIS 4 SYSTEM DESIGN... 3

More information

Building a website. Should you build your own website?

Building a website. Should you build your own website? Building a website As discussed in the previous module, your website is the online shop window for your business and you will only get one chance to make a good first impression. It is worthwhile investing

More information

CLIENT SERVER ARCHITECTURE:

CLIENT SERVER ARCHITECTURE: CLIENT SERVER ARCHITECTURE: Client-Server architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located

More information

4.2.2 Usability. 4 Medical software from the idea to the finished product. Figure 4.3 Verification/validation of the usability, SW = software

4.2.2 Usability. 4 Medical software from the idea to the finished product. Figure 4.3 Verification/validation of the usability, SW = software 4.2.2 Usability Intended purpose, Market Validation Usability Usability Risk analysis and measures Specification of the overall system SW SW architecture/ of SW SW design Software design & integration

More information

Software Life-Cycle Models

Software Life-Cycle Models Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language

More information

CTI Higher Certificate in Information Systems (Internet Development)

CTI Higher Certificate in Information Systems (Internet Development) CTI Higher Certificate in Information Systems (Internet Development) Module Descriptions 2015 1 Higher Certificate in Information Systems (Internet Development) (1 year full-time, 2½ years part-time) Computer

More information

Slides for courses based on the textbook

Slides for courses based on the textbook Slides for courses based on the textbook 1 Author: Professor Nigel Cross Publisher: John Wiley & Sons Ltd., 2008 (4th edition) ISBN: 978-0-470-51926-4 2 Contents Part One: Understanding Design 1 The Nature

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination Architecture of Distributed Systems (2IMN10 / 2II45), on Monday November 2, 2015, from 13.30 to 16.30 hours. Indicate on

More information

Hippo Software BPMN and UML Training

Hippo Software BPMN and UML Training Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper

More information

5 Object Oriented Analysis

5 Object Oriented Analysis 5 Object Oriented Analysis 5.1 What is OOA? 5.2 Analysis Techniques 5.3 Booch's Criteria for Quality Classes 5.4 Project Management and Iterative OOAD 1 5.1 What is OOA? How to get understanding of what

More information

Software Architecture

Software Architecture Software Architecture Mestrado em Engenharia Informática e de Computadores COMPANION TO THE FIRST EXAM ON JANUARY 8TH, 2016 VERSION: A (You do not need to turn in this set of pages with your exam) 1. Consider

More information

Software Design Description Report

Software Design Description Report 2015 Software Design Description Report CodeBenders Haldun Yıldız 1819663 Onur Aydınay 1819002 Deniz Can Yüksel 1819697 Ali Şihab Akcan 1818871 TABLE OF CONTENTS 1 Overview... 3 1.1 Scope... 3 1.2 Purpose...

More information

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70 ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

To practice UCSD Usability Design

To practice UCSD Usability Design To practice UCSD from principles to process Adds essential UCSD activities and roles to any process. Easy to communicate. Easy to integrate: in organizations and projects. A subset of a development process.

More information

UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK

UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK 01 January, 2018 UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK Document Filetype: PDF 200.01 KB 0 UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK Platform assignment system for the trains in a

More information

The Web Service Sample

The Web Service Sample The Web Service Sample Catapulse Pacitic Bank The Rational Unified Process is a roadmap for engineering a piece of software. It is flexible and scalable enough to be applied to projects of varying sizes.

More information

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav BUILDING MICROSERVICES ON AZURE ~ Vaibhav Gujral @vabgujral About Me Over 11 years of experience Working with Assurant Inc. Microsoft Certified Azure Architect MCSD, MCP, Microsoft Specialist Aspiring

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

Document Control Information

Document Control Information Document Control Information Document Details Document Name Purpose of Document Document Version Number 3.1 Document Status Document Owner Prepared By The ITIL Intermediate Qualification: Service Operation

More information

Rational Software White paper

Rational Software White paper Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations

More information

Creating and Analyzing Software Architecture

Creating and Analyzing Software Architecture Creating and Analyzing Software Architecture Dr. Igor Ivkovic iivkovic@uwaterloo.ca [with material from Software Architecture: Foundations, Theory, and Practice, by Taylor, Medvidovic, and Dashofy, published

More information

Introduction to Software Architecture. The top level... (and design revisited)

Introduction to Software Architecture. The top level... (and design revisited) Introduction to Software Architecture The top level... (and design revisited) 1 What are we doing? System Software Architecture Top-level design software system architecture We use system architecture

More information

Digital Library on Societal Impacts Draft Requirements Document

Digital Library on Societal Impacts Draft Requirements Document Table of Contents Digital Library on Societal Impacts Draft Requirements Document Eric Scharff Introduction... 1 System Description... 1 User Interface... 3 Infrastructure... 3 Content... 4 Work Already

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80

More information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021 Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,

More information

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 The user interface Should be designed to match: Skills, experience and expectations of its anticipated users.

More information

web engineering introduction

web engineering introduction web engineering introduction team prof. moira norrie matthias geel linda di geronimo alfonso murolo www.globis.ethz.ch/education 20.02.2014 norrie@inf.ethz.ch 2 what is web engineering? technologies, tools

More information

BPS Suite and the OCEG Capability Model. Mapping the OCEG Capability Model to the BPS Suite s product capability.

BPS Suite and the OCEG Capability Model. Mapping the OCEG Capability Model to the BPS Suite s product capability. BPS Suite and the OCEG Capability Model Mapping the OCEG Capability Model to the BPS Suite s product capability. BPS Contents Introduction... 2 GRC activities... 2 BPS and the Capability Model for GRC...

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

Topic : Object Oriented Design Principles

Topic : Object Oriented Design Principles Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities

More information

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Requirements Engineering. Contents. Functional requirements. What is a requirement? Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE

More information

Implicit BPM Business Process Platform for Transparent Workflow Weaving

Implicit BPM Business Process Platform for Transparent Workflow Weaving Implicit BPM Business Process Platform for Transparent Workflow Weaving Rubén Mondéjar, Pedro García, Carles Pairot, and Enric Brull BPM Round Table Tarragona Contents Context Introduction 01/27 Building

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

1: Specifying Requirements with Use Case Diagrams

1: Specifying Requirements with Use Case Diagrams Outline UML Design Supplement 1: Specifying Requirements with Use Case Diagrams Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases Slide adapted from Eran Toch s lecture

More information

Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005

Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005 Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson 1 of 25 Introduction Chapter 1 of Object Design covers topics that aid understanding of Responsibility-Driven Design Object

More information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use

More information

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 1 Object Orientated Analysis and Design Benjamin Kenwright Version Control Example Team Princess 3 Members 3 Github Users e.g., Elva1997, michelle0924hhx, KimJaeHwang Each user can join and

More information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships. Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?

More information

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect How to build a UML model RUP Steriotypes, packages, and object diagrams Case study Announcements HW3 Phase 1 due on Feb 6 th, 5:00pm (need to create new pairs, accounts) Feedback on M2: turn procedural

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

Requirements Specification

Requirements Specification Redesign of the Software Engineering Site (R.O.S.E.S.) Requested by: Dr. Timoth Lederman Professor Department of Computer Science Siena College Delivered By: Prepared By: Kurt Greiner Daniel Rotondo Ryan

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

Mensch-Maschine-Interaktion 1

Mensch-Maschine-Interaktion 1 1 Mensch-Maschine-Interaktion 1 Chapter 10 (July 21st, 2011, 9am-12pm): User-Centered Development Process Overview Introduction Basic HCI Principles (1) Basic HCI Principles (2) User Research & Requirements

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Requirements Specification

Requirements Specification Requirements Specification Smart Scheduling Requested by: Dr. Robert Yoder Associate Professor of Computer Science Computer Science Department Head Siena College Tom Mottola Jason Czajkowski Brian Maxwell

More information

CTI Short Learning Programme in Internet Development Specialist

CTI Short Learning Programme in Internet Development Specialist CTI Short Learning Programme in Internet Development Specialist Module Descriptions 2015 1 Short Learning Programme in Internet Development Specialist (10 months full-time, 25 months part-time) Computer

More information

Lecture 8: Use Case -Driven Design. Where UML fits in

Lecture 8: Use Case -Driven Design. Where UML fits in Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution

More information

Tennessee. Business Technology Course Code Web Design Essentials. HTML Essentials, Second Edition 2010

Tennessee. Business Technology Course Code Web Design Essentials. HTML Essentials, Second Edition 2010 Tennessee Business Technology Course Code 6501240 Web Design Essentials HTML Essentials, Second Edition 2010 Notation Key SE Student Edition LE Learning Expectation Standard 1.0 Demonstrate knowledge of

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

Design Proposal: Outline

Design Proposal: Outline Design Proposal: Outline This outline should be used as a checklist to help each member of the team make sure that every section of the document meets the requirements for a design proposal. Writing Style

More information