Lecture 11 Lecture 1 Course Introduction DT249 Software Engineering 2 Pat Browne

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Ch 3 System Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
4.1 Blended approaches: Information Engineering IMS Information Systems Development Practices.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Introduction To System Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Chapter Twelve Approaches to Systems-Building. The Traditional Systems Lifestyle The systems lifecycle is a traditional methodology for developing an.
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 13 Revision IMS Systems Analysis and Design.
Lecture 11 Course Introduction Lecture 1 Object Oriented Analysis and Design K268 SENG2100 Pat Browne
Fundamentals of Information Systems, Second Edition
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Introduction To System Analysis and design
Software Development Process
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
1 Introduction Chapter 1. 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization.
UML - Development Process 1 Software Development Process Using UML (2)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
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.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Chapter 1: Introduction to Systems Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Introduction To System Analysis and Design
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.
CS206 System Analysis and Design Note 1 By ChangYu 1 Course Information Lecturer NameCHANG YU Web sitewww.chuhai.edu.hk/changyu/
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Systems Analysis and Design in a Changing World, Fourth Edition
Fundamentals of Information Systems, Second Edition 1 Systems Development.
The principles of an object oriented software development process Week 04 1.
The Systems Development Environment Systems Analysis and Design II.
© Bennett, McRobb and Farmer 2005
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Chapter 1: Introduction to Systems Analysis and Design
Fundamentals of Information Systems, Sixth Edition
Lecture 0 Software Engineering Course Introduction
Business System Development
TIM 58: Systems Analysis and Design Winter Quarter 2017 Tuesday/Thursday 1:30 – 3:05 pm, Classroom Unit 1.
DT249/4 Information Systems Engineering Lecture 0
University of Houston-Clear Lake
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Lecture 11 Lecture 1 Course Introduction DT249 Software Engineering 2 Pat Browne

Lecture 12 Tech Support For your tech. support see: If you are having any technical difficulties logging into the PCs in the labs please contact

Lecture 13 Accounts Your student login is : Username: your name Password: Student number ( Lower case letter ) Domain: Student. Class Disk is: StudentDistrib$ on 'lugh' (P:) The lectures are at:….

Lecture 14 Description This module focuses on an engineering approach to systems development. The module studies systems analysis and design in the context of object oriented development. On successful completion of the course students are expected to be able to apply object oriented analysis and design techniques. Students are also expected to appreciate and understand the different approaches to object oriented design.

Lecture 15 Course Aims To provide the students with an understanding and appreciation of the role of systems analysis and design, building and testing within an object oriented system development life cycle approach. To teach the different techniques used in object oriented analysis and design. To teach testing strategies and techniques and the application of testing techniques to object oriented systems. To provide the student with a theoretical knowledge of the principles, and processes and techniques involved in building high quality software systems.

Lecture 16 Learning Outcomes On successful completion of this module, the student will be able to: Identify and critically evaluate the different approaches to object oriented software development. Use appropriate methods and techniques to perform an object oriented analysis and design for a given case study. Evaluate and develop appropriate testing strategies. Implement a test process and develop test cases. Evaluate and use the various tools available to the software engineer. Use advanced software architectures, patterns, components and frameworks. Use the appropriate theory to address practical software problems.

Lecture 17 Syllabus: Review of the software development process: Life cycle models; development approaches; object oriented development, the strengths and weaknesses of different approaches. Object oriented principles and concepts: objects, classes, instances, encapsulation, abstraction, generalisation, specialisation, aggregation, inheritance, polymorphism, messaging.

Lecture 18 Syllabus: Object oriented life cycle: Inception, elaboration, construction, transition, UML, object oriented methodologies. Analysis and design techniques: Requirements gathering, feasibility studies, functional and non-functional requirements, fact-finding techniques. Techniques for modelling classes and transactions. Notation used. File and database organisations and structure, using a database with an object oriented developed system.

Lecture 19 Syllabus: Review of object orientation: Basic object concepts including: encapsulation, inheritance, abstraction, objects instances, classes, polymorphism messages and communicating agents, OO language features.

Lecture 110 Syllabus: Examples of object oriented techniques required: further study of the UML including: class diagrams, business and interface classes, use case diagrams, object sequence diagrams, object collaboration diagrams, state transition diagrams, component deployment diagrams, Object Constraint Language (OCL), action semantics.

Lecture 111 Syllabus: Advanced object oriented concepts: re- factoring, responsibility driven design, use case driven design, design by contract, coordination contracts, patterns, architectures, frameworks, subsystems, components. Testing: validation and verification, the review process, the testing process, test strategies, system testing, model testing, testing tools, the management of testing.

Lecture 112 Main Topics Responsibility Driven Design. Use case driven design. Rational Unified Process. The Unified Modelling Language (UML) Argo and other case tools Object Constraint Language (OCL) Time in systems. Design by contract Executable UML

Lecture 113 Main Texts Essential Reading: Practical Object-Oriented Design with UML, Mark Priestly(2003), McGraw Hill, ISBN: Supplemental Reading: UML Distilled 3rd Ed. Fowler (2004), Addison Wesley, ISBN: Model Driven Architecture with Executable UML, Raistrick et al (2004)., Cambridge, ISBN Object-Oriented Methods: Principles and Practice (3rd Edition) by Ian Graham (2000), Addison- Wesley, ISBN: X. The Object Constraint Language: Getting Your Models Ready for MDA, 2/E, by, Warmer and Kleppe. Addison Wesley, ISBN:

Lecture 114 Further reading UML for Database Design: Maiburg and Maksimchuk, Addison Wesley, ISBN Object Design: Rebecca Wirfs-Brock and Alan McKean, Addison Wesley, ISBN The CRC Book: Bellin and Suchman Simone, Addison Wesley, ISBN Software Design using Java 2: Lano, Fiadeiro, Andrade, Palgrave

Lecture 115 Further reading Information modelling and relational databases: by Terry Halpin, Morgan Kaufman ISBN. Designing Object-Oriented Software: Wirfs-Broock, Wilkerson and Wiener. Prentice-Hall

Traditional System Lifecycle and Iterative Approaches

Traditional Systems Lifecycle PROJECT DEFINITION SYSTEM STUDY DESIGN PROGRAMMING INSTALLATION POSTINSTALLATION REVIEW

Traditional Systems Lifecycle PROJECT DEFINITION: Is there a problem? Can it be solved with a project? Makes a preliminary study to determine why a new system project is required and to state project objectives. The output of this phase is a project plan (or project proposal) SYSTEM STUDY: Analyze problems in existing systems; define objectives evaluate alternatives. Determines requirements for the proposed new system. Using these findings, the study phase performs a cost-benefit analysis to determine if proposed system solutions are feasible. The output of this phase is a detailed system proposal.

Traditional Systems Lifecycle DESIGN: Logical & physical specifications for systems solution. Produces the blueprint of specifications for the new system's inputs, outputs, processing, database, procedures and controls. PROGRAMMING: Develop software code. : Translates the design specifications into software for the computer. INSTALLATION: Test the programs, train the staff, convert to new system. Usually includes a systems acceptance test. An acceptance test consists of a set of performance criteria which the system must pass before it is accepted by the user (or organization) e.g. the system must be able to process 2000 customer transactions per hour. POSTINSTALLATION REVIEW :The system is operational; users and technical specialists conduct a post-implementation audit. The system is maintained to meet new requirements or processing efficiency On-going evaluation, modifications for improvement to meet new requirements. Did the system produce the expected benefits?

Traditional Systems Lifecycle The advantages of using TSL for building information systems are: It is highly structured, well defined steps/roles. It has a rigorous and formal approach to requirements and specifications and tight controls over the system building process. It is appropriate for building large transaction processing and management information systems and for building complex technical systems.

Traditional Systems Lifecycle The disadvantages of this method are:  It is very costly and time-consuming.  It is inflexible and discourages change even though requirements will change during the project due to the long time this method requires. It is ill-suited to decision-oriented applications which can be rather unstructured and for which requirements are difficult to define.

Traditional Systems Lifecycle The disadvantages of this method are:  It assumes that each stage is completed before the next stage starts, there is no overlap or iteration.

TLC usually uses structure methods In general the traditional system life cycle structured methods use structured system development, which are top down, step by step, each step builds on previous. Structured Systems Analysis defines system inputs, processes, outputs partitions system into subsystems or modules. It uses logical, graphical model of information flow using data flow diagrams and textual descriptions.

TLC usually uses structure methods The main tools of Structured Systems Analysis are: DATA FLOW DIAGRAM: Graphical display of component processes, flow of data. Enables users or developers to view proposed system at any level of detail. DATA DICTIONARY: Controlled definitions of descriptions of all data, such as variable names & types of data. DD are often implemented in software, particularly for database development. PROCESS SPECIFICATIONS: Describes logic of processes at module level. These are often textual descriptions Structured Systems Analysis during the analysis phase of the system development life cycle. It is used to build a logical model of the system using the tools described above.

TLC usually uses structure methods Prototyping can be included in either approach to clarify requirements, however it is more closely integrated in OO approaches. Prototyping is the process of building experimental system to demonstrate, evaluate approach; users refine needs Prototype: preliminary working version of information system for demonstration, evaluation purposes Iterative process. Steps: identify user’s requirements; Develop prototype; Use prototype; Revise & enhance prototype; best for design of end-user interface: can show how end-user interacts with system. Managing prototyping has its own problems, when is prototype complete?

TLC & Structure Methods Structured methodologies recognise the need to spend sufficient time during the early stages to ensure a clear and comprehensive understanding of the current system, its problems and requirements. This is essentially the task of enabling the analyst to understand the system under consideration from the point of view of the managers, system users, customers and technical support. Analysis begins with the user providing a brief report of the problems and requirements as they see them in their system. The analyst will gather information about the personnel and facts that they provide and build a clear specification of the system, its objectives and its requirements