Systems development life cycle & development methodologies Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica Systems development life cycle & development methodologies Updated: September 2014
3510 Systems Analysis & Design * Bob Travica 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
Systems development life cycle (SDLC) SDLC: process of planning, building, using, and updating an information system. Plan Develop Use & Maintain 3510 Systems Analysis & Design * Bob Travica
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
Structured methodology (“Waterfall”) MAINTAIN DURING PRODUCTION PHASE *Software development, implementation of design in software – not a system implementation in daily work. * INSTALLATION, TESTING Also called “Waterfall” methodology 3510 Systems Analysis & Design * Bob Travica
Object oriented methodology - Unified Process Project Planning Analysis 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
Structured vs. OO 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 Unified Modeling Language (Use Cases, Class Diagrams…) Relation to reality Predictive Adaptive 3510 Systems Analysis & Design * Bob Travica
3510 Systems Analysis & Design * Bob Travica 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
3510 Systems Analysis & Design * Bob Travica 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
3510 Systems Analysis & Design * Bob Travica 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). Name Attributes Functions Object – An instance of class with specified Values of Attributes (specific data) 12005 09/10/2003 16/10/2003 Class 3510 Systems Analysis & Design * Bob Travica
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
Inheritance & Specialization/ Generalization (Cont.) 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. Parent class or Super-class Children classes or Sub-classes 3510 Systems Analysis & Design * Bob Travica
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