Asper School of Business University of Manitoba Systems
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica Systems development life cycle & development methodologies Updated: September 2018
Outline Systems development life cycle n System development methodology n Structured methodology n Object-oriented methodology n Objects and Classes n Inheritance n Specialization/Generalization n Polymorphism n 3510 Systems Analysis & Design * Bob Travica 2 of 13
Systems development life cycle (SDLC) n 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 n SD Methodology Guidelines for developing system. n Kind of knowledge. n n Two kinds of methodologies Structured (since 1970 s) n Newer ones focused on rapid development n 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 Terms matching structured methodology (P) * Project Planning P Analysis P P P Installation, Testing P 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 project 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, developing IT Modeling technique Data Flow Diagrams, Entity-Relationship Diagrams defined by Predictive Adaptive Relation to reality Unified Modeling Language (Use Cases, Class Diagrams…) 3510 Systems Analysis & Design * Bob Travica 7 of 13
Object – key concept n Object: Software entity with data (attributes) and methods (associated behaviors, or functions). n Object encapsulates data and processes. Object’s data are private, inaccessible directly to other objects. n Examples of objects Problem domain objects (student, customer) n User interface (buttons, text boxes) n 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). n 3510 Systems Analysis & Design * Bob Travica 9 of 13
Class n n Class: Definition of object properties and behavior. Like a skeleton od database record (metadata) plus applicable 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 12005 09/10/2003 16/10/2003 CRUD functions 3510 Systems Analysis & Design * Bob Travica 10 of 13
Inheritance and Specialization/Generalization n Inheritance: Property of OO systems allowing for attributes and methods to be shared among objects. n Reduces system development costs. n 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 n Polymorphism: Generally, many forms of something. The ability of subclasses to react differently to the same message. -vehicle. Make. Model -price +calc. Price() Same message ”Calculate price” triggers methods specific to subclasses. dealer. Markup 3510 Systems Analysis & Design * Bob Travica annual. Amortization 13 of 13
- Slides: 13