1 / 79

Business Applications with Object-Oriented Paradigm (Modeling Concepts)

Business Applications with Object-Oriented Paradigm (Modeling Concepts). Jason C.H. Chen, Ph.D. Professor of MIS School of Business Gonzaga University Spokane, WA 99258 . What is Business Model?.

missy
Download Presentation

Business Applications with Object-Oriented Paradigm (Modeling Concepts)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Business Applications with Object-Oriented Paradigm (Modeling Concepts) Jason C.H. Chen, Ph.D. Professor of MIS School of Business Gonzaga University Spokane, WA 99258

  2. What is Business Model? • A business model is a set of planned activities (sometimes referred to as business processes) designed to result in a profit in a marketplace. • The business model is at the center of the business plan. • An e-commerce business model aims to use and leverage the unique qualities of the Internet and the www. Source: E-Commerce: business, technology, society, Laudon and Traver, A/W N

  3. Why New Models? • We need some new models • for how we go about exploring IT for competitive advantage, • for IT infrastructure how we create it and manage it • for how we acquire, manage and deploy the skills that are needed to run that infrastructure

  4. structure/ culture competition Business landscape Internal/ External Consistent fulfill Analysis (Porter, SWOT) future positioning … Finance Management Process H/R Technology Corporate strategy • Positioning on product/market • Differentiation/choice of competitive advantage Business strategy • Competitive posture • Industry characteristics, • Market growth, • Demand characteristics, • Barrier of entry,etc. Functional strategy Essentials for a Successful Enterprise Value propositions 1. Business model 2. Core competencies Strategic intent Strategy Positioning 3. Execution IT Role? N

  5. Four Important Entities for a Successful Enterprise • Capital (资本) • Technical (技术) • Human (人才) • Information (信息)

  6. PARADIGMS(Definition) • A paradigm is a way of viewing things and thinking about things.

  7. Traditional vs. New Approach Functional vs. Object-Oriented Paradigm Shift

  8. PARADIGMS SHIFT • In the last two decades (mid 1970’s to the present) popular paradigms have been used: Process Modeling Data Modeling O-O Modeling DFD UML, OMT ER, E-ER

  9. PARADIGMS SHIFT • In the last two decades (mid 1970’s to the present) popular paradigms have been used: Process Modeling Data Modeling O-O Modeling DFD UML, OMT ER, E-ER

  10. OBJECT-ORIENTED METHODOLOGY • The technique of object-oriented (OO) methodology really has emerged only in the last seven to eight years (early 1990’s). • The O-O methods organize both information and the processing that manipulates the information, according to the real-world objects that the information describes.

  11. I. OBJECT-ORIENTED CONCEPTS

  12. What is an OBJECT ?

  13. An OBJECT is ... Object = Data structure + Behavior (attributes) (operations) where Behavior is in a single entity.

  14. An OBJECT is ... • Object = Data structure + Behavior (attributes) (operations) where Behavior is in a single entity.

  15. Why O-O? (Advantages / Objectives) • Understanding problems • Communicating with application experts • Modeling enterprises • Preparing documentation • Designing programs and databases

  16. Definition of O-O vs. Conventional Programming • O-O organizing software as a collection of discrete objects that incorporate both data structure and behavior. • Conventional programming: data structure and behavior are only loosely connected.

  17. II. What is OBJECT-ORIENTED Programming Language (OOP)? OOP = Objects + Inheritance + Polymorphism

  18. II. What is OBJECT-ORIENTED Programming Language (OOP)? OOP = Objects + Inheritance + Polymorphism

  19. Object-Based vs. Object-Oriented Languages • An object-based language is one in which data and operationscan be incorporated (encapsulated) in such a way that data values can be isolated and accessed through the specified class functions. • An object-oriented language provides inheritance and polymorphism in addition to the features in an object-based language.

  20. PROGRAMMING IN THE LARGE • In order to deal with large-scale programming, we must have some way of attacking a problem in a systematic way and managing its complexity ...

  21. Systems/Software (Development) Life Cycle (SLC/SDLC) • A method that provides information systems professionals with step-by-step procedures to develop their projects/systems. • SOFTWARE ENGINEERING ...

  22. Phases of Systems/Software (Development) Life Cycle (SLC/SDLC) • Conceptualization • (Requirements) Analysis • Design • Implementation • Testing and Verification • Operation, Follow-up, and Maintenance

  23. 1. Conceptualization • Prepare a complete and unambiguous problem statement. • Users and analysts sign the requirements document.

  24. 2. (Requirements) Analysis • Understand the problem: develop a system behavior model and determine problem input, output, and other relevant data elements. • Name each identified data element and develop a model of the essential characteristics (attributes and operations) for each element.

  25. 3. Design • Using the system and data models developed during requirements analysis, perform a top-down design of the system. • For each system component, identify key data elements and subordinate functions using structure charts.

  26. 4. Implementation • Write algorithms and pseudocode descriptions of individual functions. • Code the solution. • Debug the code.

  27. 5. Testing and Verification • Test the code, verifying that it is correct. Each data modeling component should be tested separately, before all components are tested as an integrated whole. • Involve users and special testing teams in all system tests.

  28. 6. Operation, Follow-up, and Maintenance • Run the completed system. • Evaluate its performance. • Remove new bugs as they are detected. • Make required changes to keep the system up to date. • Verify that changes are correct and that they do not adversely affect the system’s operation.

  29. Software Engineering Goals That Drive Object Use • Why should we base our programming around objects? • Advantages follow ...

  30. 1. Ease of Design and Code Reuse • Once the code works properly, the use of objects increases your ability to reuse a design or code you created for one application within a second application. ... REUSABILITY

  31. 2. Increased Reliability • Once proper testing has been previously performed on object libraries, the use of existing (working) code will improve your program’s reliability.

  32. 3. Ease of Understanding • By allowing designers and programmers to focus on smaller pieces of a system and providing a framework within which designers can identify objects, the operations performed on the objects, and the information objects must store, object use helps programmers focus on and understand key system components.

  33. 4. Increased Abstraction • Abstraction lets designers and programmers “look at the big picture”--- temporarily ignore underlying details so they can work with system elements that are more easily understood. For example, by focusing only on the word processor objects earlier in this chapter, the implementation of a word processor became much less intimidating.

  34. 5. Increased Encapsulation • Encapsulation groups all of the pieces of an object into one neat package. For example, the file class previously defined in this chapter combines the functions and data fields a program needs to work with a file.

  35. 5. Increased Encapsulation (Conti.) • The programmer who is working with the file class does not need to know each piece of the class, only that they need to use the class within their program. The class, in turn, will bring with it all the necessary pieces.

  36. 6. Increased Information Hiding • Information hiding is the ability for your program to treat a function, procedure, or even an object, as a “black box,” using the item to perform a specific operation without having to know what goes on inside. In Chapter 1, for example, your programs used I/O stream objects for input and output without having to understand how the streams work.

  37. III. More on Objects: Characteristics of Objects: • Identity • Classification (Abstraction) • Polymorphism • Inheritance

  38. III. More on Objects: Characteristics of Objects: • Identity • Classification (Abstraction) • Polymorphism • Inheritance

  39. Characteristics of Objects: • Identity: • This means that data is quantified into discrete, distinguished entities called objects • Can be either concrete or conceptual • Classification (abstraction): • Means that objects with the same data structure (attributes) and behavior (operations) are grouped into a class

  40. Characteristics of Objects (Conti.): • Polymorphism: • Means that the same operation (e.g., dial) may behave differently on different classes • A specific implementation of an operation by a certain class is called a method • Because an O-O operation is polymorphic, it may have more than one method implementing it

  41. Characteristics of Objects (Conti.): • Inheritance: • Is the sharing of attributes and operations among classes based on a hierarchical relationship • A class can be defined broadly and then refined into successively finer subclasses. Each subclass incorporates, or inherits all of the properties of its superclass and adds its own unique properties

  42. Objects vs. Classes Objects • Definition: An object is a concept, abstraction, or thing with crisp boundaries and meaning for the problem at hand.

  43. Objects vs. Classes (Conti.) • Purpose: Objects promote understanding of the real world and provide a practical basis for computer implementation. • All objects have identity and are distinguishable, and therefore, decomposition of a problem into objects depends on judgment and the nature of the problem.

  44. Objects vs. Classes (Conti.) Classes • Definition: An object class describes a group of objects with similar properties (attributes), common behavior (operations), common relationships to other objects, and common semantics.

  45. The abbreviation class is often used instead of object class. The objects in a class share a common semantic purpose, above and beyond the requirement of common attributes and behavior. Objects -----------------------------> Classes Abstract to (Specific) (General) Instances *attributes *operations

  46. The abbreviation class is often used instead of object class. The objects in a class share a common semantic purpose, above and beyond the requirement of common attributes and behavior. Abstract (John,Mary ...) to (Person) Objects -----------------------------> Classes (Specific) (General) Instances *attributes *operations

  47. WHAT IS O-O DEVELOPMENT? • Systems Development Life Cycle (SDLC): include the phases of analysis, design, implementation, and maintenance. • O-O Development Life Cycle: focuses on identifying and organizing application-domain concepts, rather than their final representation in a programming language.

More Related