Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica Systems development life cycle & development methodologies Updated: September 2014 Outline Systems development life cycle System development methodology Structured methodology Object-oriented methodology Objects and Classes Inheritance Specialization/Generalization Polymorphism 3510 Systems Analysis & Design * Bob Travica 2 of 13 Systems development life cycle (SDLC) SDLC: process of planning, building, using, and updating an information system. Plan Use & Maintain Develop 3510 Systems Analysis & Design * Bob Travica 3 of 13 System development methodology SD Methodology Guidelines for developing system. Kind of knowledge. Two kinds of methodologies Structured (since 1970s) Newer ones focused on rapid development 3510 Systems Analysis & Design * Bob Travica 4 of 13 Structured methodology (“Waterfall”) MAINTAIN DURING PRODUCTION PHASE * INSTALLATION, TESTING Also called “Waterfall” methodology 3510 Systems Analysis & Design * Bob Travica 5 of 13 Object oriented methodology Unified Process Project Planning Analysis P P Installation, Testing Development activities are similar to Waterfall but they are run many times on system parts added incrementally. Iteration = One run of Analysis, Design, Implementation, Deployment within a UP phase. A phase has 1 or more iterations. 3510 Systems Analysis & Design * Bob Travica 6 of 13 Structured vs. OO Methodology Structured Methodology Object Oriented (Unified Process) Use of development activities (Planning, Analysis..) Each activity covers a whole phase in SDLC All activities run in each phase, N-times (iterations) Names of development phases Planning, Analysis, Design, Implementation, Installation/Testing Inception, Elaboration, Construction, Transition Appropriate to use When system goals certain, static IT When system goals less certain, dynamic IT Modeling technique Data Flow Diagrams, Entity-Relationship Diagrams Diagrams defined by Relation to reality Predictive Adaptive Unified Modeling Language (Use Cases, Class Diagrams…) 3510 Systems Analysis & Design * Bob Travica 7 of 13 Object – key concept Object: Software entity with data (attributes) and methods (associated behaviors, or functions). Object encapsulates data and processes. Object’s data are private, inaccessible directly to other objects. Examples of objects Problem domain objects (student, customer) User interface (buttons, text boxes) 3510 Systems Analysis & Design * Bob Travica 8 of 13 Object examples Objects are associated and interact via messages – calls for applying some function on data (e.g., read). 3510 Systems Analysis & Design * Bob Travica 9 of 13 Class Class: Definition of object properties. Like a skeleton od database record plus applicable data functions (write, read, change…). Objects are instances of a class (e.g., Customer object is an instance of a Customer class). Object – An instance of class with specified Values of Attributes (specific data) Class Name Attribute s Functions 3510 Systems Analysis & Design * Bob Travica 12005 09/10/2003 16/10/2003 10 of 13 Inheritance and Specialization/Generalization Inheritance: Property of OO systems allowing for attributes and methods to be shared among objects. Reduces system development costs. Inheritance enables a special association between classes called Specialization/Generalization 3510 Systems Analysis & Design * Bob Travica 11 of 13 Inheritance & Specialization/ Generalization (Cont.) Parent class or Super-class • Specialization: Subclasses inherit attributes and operations of the superclass, plus have some of their own. • Subclasses “specialize” the superclass. • Generalization represented by arrows from subclasses to superclass. • Class “generalizes” attributes & methods of subclasses. Children classes or Sub-classes 3510 Systems Analysis & Design * Bob Travica 12 of 13 Inheritance and Polymorphism Polymorphism: Ability of subclasses to react differently to the same. Same message ”Calculate price” triggers methods specific to subclasses. 3510 Systems Analysis & Design * Bob Travica 13 of 13