Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.

Slides:



Advertisements
Similar presentations
System Development Life Cycle (SDLC)
Advertisements

ICT Class System Life Cycle.  Large systems development projects may involve dozens of people working over several months or even years, so they cannot.
Lecture # 2 : Process Models
Object-Oriented Software Development CS 3331 Fall 2009.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Ch 3 System Development Environment
Information Systems Analysis and Design
The System Development Life Cycle
Sixth Edition 1 M a n a g e m e n t I n f o r m a t i o n S y s t e m s M a n a g I n g I n f o r m a t i o n T e c h n o l o g y i n t h e E – B u s i.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
School of Computing, Dublin Institute of Technology.
Software Engineering General Project Management Software Requirements
Fundamentals of Information Systems, Second Edition
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
7.2 System Development Life Cycle (SDLC)
Introduction to Systems Analysis and Design
Introduction to Software Testing
Design, Implementation and Maintenance
Introduction to Computer Technology
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 1 The Systems.
Effective Methods for Software and Systems Integration
Managing Software Quality
CSI315 Web Applications and Technology Overview of Systems Development (342)
Computers Are Your Future Eleventh Edition Chapter 13: Systems Analysis & Design Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Managing the development and purchase of information systems (Part 1)
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
Software System Engineering: A tutorial
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
The Systems Development Methodologies. Objectives  Describe the information Systems Development Life Cycle (SDLC)  Explain prototyping  Explain Rapid.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Systems Analysis and Design
I am an IT Software Engineer. Hello !!. L1 : INTRODUCTION  Goals of Software Engineering:  What IT Demands Today ?  IT Products Design Methodologies.
Computers Are Your Future Tenth Edition Chapter 13: Systems Analysis & Design Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall1.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Systems Development Life Cycle
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Prof. Shrikant M. Harle.  The Project Life Cycle refers to a logical sequence of activities to accomplish the project’s goals or objectives.  Regardless.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
MANAGEMENT INFORMATION SYSTEM
The System Development Life Cycle
Software Quality Control and Quality Assurance: Introduction
System.
Software Verification and Validation
The Systems Engineering Context
Introduction to System Analysis and Design
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
CHAPTER 2 Testing Throughout the Software Life Cycle
The System Development Life Cycle
Introduction to Software Testing
Software life cycle models
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
(System Development Life Cycle)
Software Reviews.
System Analysis and Design:
Presentation transcript:

Software Engineering For Beginners

General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside School of Computing office. Notes: ering or ering eringwww.comp.dit.ie/pobyrne/software%engine ering

Reasons for Discipline Build a Lego house Build a border around a flower bed Build a garden shed Build an extension onto a house Build a house Build a multi-storey car park Scale requires discipline

Experience so far Stored program concept. File I/O. User I/O. Mainly single program systems. Scale has not been a problem.

Stored Program Concept Data area Procedural area Input Output input Output Data Instructions Program

Software System A Software System is an interrelated set of elements that are viewed as a whole and designed to achieve a purpose. It comprises:- –software –hardware –documentation –method of operation –users and operators e.g.hotel reservations system, general ledger system, POS system

Software Quality Characteristics Software correctness Reliability Efficiency Integrity Usability Maintainability Testability Flexibility Portability Interoperability Reusability Functionality

Software Engineering Software engineering is the establishment and use of sound engineering principles in order to obtain economically quality software

Three Key Elements Methods –Technical ‘how to’s for building software Project management, requirement analysis, design of data structures and algorithm procedure, coding, testing and maintenance

Three Key Elements Tools –Provide support Procedures –Sequence in which methods are applied –Documents / deliverables produced –Controls and checks ensure quality –Milestones, to manage progress

Process Models and Methodologies Software engineering process is a set of steps that encompasses methods, tool and procedures Classic life cycle or waterfall model –A software engineering process –A systematic and sequential approach to software development –Oldest and most widely used software process model

Life Cycle Divides the development of a software system into stages or phases, –For each phase the life cycle specifies Activities involved in each phase Sequence in which the activities are ordered Deliverables produced for the phase At the end of each phase a phase review meeting is scheduled –To examine the deliverables from the phase –To decide whether or not to proceed to the next phase

Life Cycle Phases Planning Feasibility study Analysis Design Code and unit test

Planning and Feasibility Planning –Problem definition defines the problem area produces written statement of current problem and objectives of system Feasibility Study –investigates whether a practical solution to the problem exists –produces a feasibility study report

Analysis and Design Analysis (What do we do?) –Fact finding investigate business process and the current system –modelling the current and required systems –deliverables - requirements specification logical models of the required system Design (How do we do it?) high level system design detailed design of components (i.e.. algorithms)

Code and Unit Test Code –programming each component of the system –Unit test - independent testing of each component –producing user documentation System Test –integrating all components and testing them together –testing to ensure that the system meets its requirements

Implementation and Maintenance Implementation –Installing the system in the ‘live’ environment –Training the users Maintenance –Changing the live system Correcting defects reported by the users Implementing enhancements requested by the users –Mini life cycle in itself

Life Cycle Support Activities Phases in the Life Cycle are complimented by a number of support activities –Project Management –Quality Assurance –Configuration Management

Project Management Co-ordination and control of the people involved in the development Includes Budgeting Scheduling Monitoring progress Reporting status Corrective action

Quality Assurance Ensuring, verifying and maintaining the quality of the system to be delivered Includes –Performing reviews –Testing

Configuration Management Management of the documentation and code that is produced Include procedure for –Storage –Retrieval –Control of change

Simplified System Life Cycle Iterative process Client Requirements Specification of Requirements Technical Specification Working System Operational ‘Live’ System Analysis Design Code Install Test Validate Measure Meets

Advantages Advantages of a defined, agreed and documented approach –Consistent approach to software development is achieved –Improved communication between developers –Better control of progress by using each phase as a milestone or checkpoint