Business Analysis Introduction to Classes Chris Russell O2.41

Slides:



Advertisements
Similar presentations
Chapter 7 System Models.
Advertisements

Software Engineering-II
ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis I Data Flow Diagrams
Chapter 7: System models
Object-Oriented Analysis and Design
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Data Flow Diagrams.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
CB1004 Modelling Business Systems 71 Modelling Business Systems 7 Systems Methods.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Chapter 9 Applying UML and Patterns -Craig Larman
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
Carmen David, Senior BA Business Analysis Carmen David, Senior BA Business Analysis Foundation in Business Analysis Session 7 MODELLING REQUIREMENTS.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Object Oriented Analysis: Associations. 2 Object Oriented Modeling BUAD/American University Class Relationships u Classes have relationships between each.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
COM 117 Introduction to Application Building Introduction to the module Learning outcomes Assessment Lecture on DFDs Practical activity Tutorial activity.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Data Modeling Using the Entity- Relationship (ER) Model
Analysis Classes Unit 5.
Welcome to M301 P2 Software Systems & their Development
Chapter 4: Business Process and Functional Modeling, continued
Object-oriented and Structured System Models
Chapter 9 Domain Models.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Topics Procedural and Object-Oriented Programming Classes
The Object-Oriented Thought Process Chapter 1
Abstract descriptions of systems whose requirements are being analysed
Object-Oriented Analysis
Business Analysis Entity Modelling Chris Russell O2.41
System models October 5, 2005.
Introduction To System Analysis and Design PART 2
Business Analysis DFD Levelling Chris Russell O2.41
SYS466 Domain Classes – Part 1.
Business Analysis Entity Life History Chris Russell O2.41d
Review of Week 1 Database DBMS File systems vs. database systems
Business Analysis More on Classes Chris Russell O2.41
Business Analysis Sequence Diagrams Chris Russell O2.41
Business Analysis Good Enough Software Chris Russell O2.41
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Function-oriented Design
Presentation transcript:

Chris Russell O2.41 02920 41 6431 crussell@cardiffmet.ac.uk Business Analysis Introduction to Classes Chris Russell O2.41 02920 41 6431 crussell@cardiffmet.ac.uk Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Session schedule Business Analysis Schedule Academic Year 2014-5 Semester 2 Week Topic 1 Introduction 2 Investigate situation: rich picture, context diagrams 3 Consider perspectives: types of participation, CATWOE, Power-Interest, Thomas-Kilmann 4 Analyse needs 1: Use Cases 5 Analyse needs 2: structured techniques 6 Define requirements 1a: SSADM 7 Define requirements 1b: SSADM EASTER 8 Define requirements 2: UML 9 Generic assignment feed-forward and task review 10 Balance good enough software against quality costs; Prioritise requirements 11 Assignment submisison Lecture BA15 Introduction to Classes

Activities and Paradigms Investigate Situation Consider Perspectives Analyse Needs Define Requirements Socio-technical Rich picture CATWOE Types of participation Thomas-Kilmann Power-Interest X Functional Level 0 diagram Structured techniques DFD, ERM and ELH Object-Oriented Context diagram Use Cases Class and Sequence diagrams Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Contents UML compared to SSADM Purpose Basic notation Basic guidelines Example Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes UML compared to SSADM Using use cases does not necessitate the adoption of UML for the entire design. The most common alternative, at least in the UK, is the Structured Systems Analysis and Design Methodology (SSADM). Whereas UML emphasises decomposing a problem space by objects, SSADM emphasises decomposing a problem space by functions and processes, resulting in a hierarchical breakdown of processes composed of sub-processes. Thus a more process-intensive system might be more appropriately modelled using SSADM and a more data-intensive system might be more appropriately modelled using UML. Lecture BA15 Introduction to Classes

Process-intensive and data-intensive? Lecture BA15 Introduction to Classes Object-oriented versus function-oriented decomposition (Larman 1998)

Lecture BA15 Introduction to Classes Yes, then… If the system, like this library information system, may be decomposed by objects or processes, the choice between UML and SSADM must be made according to other criteria. Therefore, there follows a brief assessment of these two methodologies… Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Data UML Subsumes data within the class to which it relates, reflecting the object-oriented approach. Not representing data stores or files may cause problems in presenting an easily recognised analysis to the client or a suitable analysis for a designer to build upon. SSADM Data flow diagram is concerned with data stores and files and the flow of data from and to these. Such stores and files may also form part of the entity relationship diagram. Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Conditions UML The sequence diagram is effective in representing the optionality and the parallel nature of condition checks. SSADM The entity life history diagram is effective in representing the optionality and the parallel nature of condition checks. Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Users UML The sequence diagram and use cases are readily understandable by someone with knowledge of the business but not systems analysis. SSADM The data flow diagram and the entity life history are readily understandable by someone with knowledge of the business but not systems analysis. Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Development UML The class-focused approach of UML – for instance, the detail of attributes, operations and multiplicity – deliberately lends itself to object-oriented programming languages. A very useful technique for validating a system design is to take each use case in turn and check that the design allows the use case to be carried out. SSADM The process-focused approach of SSADM lends itself primarily to functional programming languages – or functional use of object-oriented languages. Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Time UML The sequence diagram can express time conditions; indeed, time may even be represented by lines on the chart. SSADM Does not provide a diagram which can adequately represent real-time, especially ‘hard’ real time. An entity life history diagram will represent sequence, the ordering of events across time, but will not represent the actual, required or conditional time periods between events. Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Endurance UML By being a data-driven approach leads, potentially, to a more enduring analysis, design and subsequent development. As a use case has value for a particular actor, that actor will stay connected with the use case throughout the development and possible redevelopment of the program. SSADM The functions required are likely to change more with time than data, leading to a less enduring analysis, design and subsequent development. Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Purpose Analyse requirements in the form of a conceptual, static, data-oriented model Depict the detailed design of object-oriented software These two purposes require two different styles of class diagram Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Basic notation Name Top box Attributes Middle box Operations Bottom box Relationships (discussed next week) Line Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Guidelines for name A template from which objects are instantiated (i.e. created) Singular noun Derived from problem domain and unambiguous Typed in bold text and centred Lecture BA15 Introduction to Classes

Guidelines for attributes Information that is pertinent to their instances In analysis attributes are ordinarily in the Attribute Name format whilst in design they are in the attributeName format In analysis an incomplete list can be indicated by use of an ellipsis (…) at the end of the list In design they take certain types e.g. Boolean, integer Domain terminology, not generic Lecture BA15 Introduction to Classes

Guidelines for operations Functionality that the object supports Strong imperative verb e.g. in analysis Verb Noun format whilst in design verbNoun format In design parameters and return types are added In analysis an incomplete list can be indicated by use of an ellipsis (…) at the end of the list Domain terminology, not generic If not using – a class may have only one box – leave a blank placeholder as similar naming conventions can cause confusion between attributes and operations Lecture BA15 Introduction to Classes

Lecture BA15 Introduction to Classes Identifying classes An appropriate starting-point for arriving at classes are the use cases Looking back to the share advice example, most of the use cases imply a class, thus: Views Chart becomes the class Chart, Retrieves Share Price becomes the class SharePrice, Calculates Moving Averages becomes the class MovingAverage, Sends Email becomes the class Email. Their changed names reflect the more data-oriented nature of classes. Subscribe Address and Unsubscribe Address can be combined in a class called Registration. Lecture BA15 Introduction to Classes

Analysis or design example? Lecture BA15 Introduction to Classes

Description of operations… SharePriceRetriever() returns a Double This method “manages” the retrieving of the HTML page containing the share price, its parsing to find the price and the conversion of this price to a Double (so that it may be stored in a Vector). makeDouble(String numberString) returns a Double This method “strips” the share price token of extraneous characters and space, and then converts the String to a Double so that it may be stored in a Vector object. Lecture BA15 Introduction to Classes

…Description of operations getPage(String urlString) returns a String This method reads the HTML page into a character array and then assigns this array to a String. parsePage(String htmlStringText) This method parses the String for tokens, that is, data contained between the HTML tags. getToken(int index) returns a String getToken(String searchString, int offset) returns a String findToken(String tokenString) returns an Integer These methods find the token containing the share price. Lecture BA15 Introduction to Classes