Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Object-Oriented Software Development CS 3331 Fall 2009.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 2 The Software Process
ITIL: Service Transition
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
© 2005 Prentice Hall6-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Introduction To System Analysis and Design
Lecture 13 Revision IMS Systems Analysis and Design.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Requirements Analysis Concepts & Principles
Sept. 4, 2003CS WPI1 CS 509 Design of Software Systems Fuller Labs, Room 311 Thursday Evenings 6 - 9pm Instructor: Diane Kramer.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
CHAPTER 19 Building Software.
January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Spring 2014 Instructor:
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Chapter 1 The Systems Development Environment
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter : Software Process
S/W Project Management
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Chapter 5 System Analysis Sarah El Sehemawy Karim Elsabee Sherine Meshad Hakim Meshriky Ahmed Zaki Ismail Abou Hamda.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
CLEANROOM SOFTWARE ENGINEERING.
Requirements Analysis
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
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.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Chapter 6 Supplement Knowledge Engineering and Acquisition Chapter 6 Supplement.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Chapter 10 Information Systems Analysis and Design
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Georgia Institute of Technology CS 4320 Fall 2003.
1 Introduction to Software Engineering Lecture 1.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Requirement Engineering
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
It is the fuel of modern life Business are run Government rule Scientists Industries Education However, building and maintaining software is hard and getting.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
COP st Lecture August 29, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Software Engineering – Fall 2015 (CSC 4350/6350) TR. 5:30 pm – 7:15 pm Rao Casturi 09/01/2015
ITIL: Service Transition
Object-Oriented Software Engineering Using UML, Patterns, and Java,
IEEE Std 1074: Standard for Software Lifecycle
CEN 5011 Advanced Software Engineering
Chapter 1, Introduction to Software Engineering
CSC 480 Software Engineering
Presentation transcript:

Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University of Technology Mobile:

Software Engineering Software Engineering is the systematic approach to the development, operation and maintenance of software. Software Engineering is concerned with development and maintenance of software products. The primary goal of software engineering is to provide the quality of software with low cost. Software Engineering involves project planning, project management, systematic analysis, design, validations and maintenance activities. CHAPTER ONE

It is important to note that Software Engineering is built on four keywords. These include: 1.Modelling: It is an abstract representation of a system that enables us to answer questions about the system. It also helps us to visualize and understand system that either no longer exist or that are claimed to exist. Software Engineers deal with complexity through modelling by focusing on the relevant details. 2.Problem-solving: Models are used to search for an acceptable solution and this search is driven by experimentation. Problems that are searched for often by trial and error, evaluating alternatives.

Problem Definition Data Gathering Implementation Finding Data Finding Solutions Problem Redefinition Problem-solving Model The diagram below illustrates the model in which problems can be solved:

3.Knowledge Acquisition: In modelling application and solution domain, Software Engineers collect data, organize it into information and formalize it into knowledge. 4.Rationale Driven: This has to do with the principles or laws used in capturing the content in which decisions are made. In other words, a typical task of software engineer is to change a currently operational system to incorporate this new enabling technology. To change the system, it is not enough to understand its current content & behaviour.It is also necessary to capture and understand the content in which decision are made.

SOFTWARE ENGINEERING CONCEPTS This describes the main terms and concepts used in this book which include: Project: Is purpose is to develop a software system. Activity(phase): This is a set of tasks that is performed towards a specific purpose. e.g. Delivery (it is an activity whose purpose is to install the system at an operational location),management( it’s an activity whose purpose is to monitor and control the project so that it meets it goals. Task: It represents an atomic unit of work that can be managed. Task consumes resources and produces

workproduct. Workproduct is an artifact produced during the development. It is classified into two(2) namely: Internal workproduct : It refers to the project internal consumption. e.g. specification, operation manual. Deliverables : This refers to the product that must be delivered to the client.

Resources: These are assets that are used to accomplish work. Resources are either time, participants or equipments.

Participants and Roles Participants refer to the people involved in the project. Roles refer to the responsibilities in the project or system. It is associated with a set of tasks and assigned to participants.

Functional & Non-functional Requirements. Functional requirements are the specification of a function that the system must support. Non-functional requirements are constraints on the operation of the system that is not related directly to the function of the system. e.g. how system should deal with failures and faults.

Notations, Methods and Methodologies Notations are the graphical representation of rules representing a model. Methods are the repeatable techniques that specify the steps involved in solving a specific problem e.g. a recipe method of cooking. Methodology refers to the collection of methods for solving a class of problems and specifies how and when each method should be used e.g. a seafood cook book is with a collection of recipes is a methodology for preparing seafood.

Object-oriented Software Engineering Development Activities. Developments activities deal with complexities by constructing and validating models of application domain or the system. These activities include: Requirement Elicitation whose purpose is to define what the client want the system to do. Analysis helps the developers to produce a model of the system that is correct, complete, and consistent i.e to transform the cases produced during requirement elicitation into an object that completely describes the system.

System analysis has to do with software engineers analyzing the problem and breaking it down into pieces and select general strategies for designing the system. Object Design has to do with looking at the detail solutions from each and deciding on the most appropriate solution. Implementation has to do with translating the solution domain model into source code.

ACTIVITIES INVOLVED IN MANAGING SOFTWARE DEVELOPMENT. Managing activities involve planning the project, monitoring the status, tracking down changes, coordinating resources such that a high-quality product is delivered on time and within budget. These activities are: Communication Rationale Management Software Configuration Management Project Management and Software Life Cycle.

Communication It is the exchange of models and documents about the system and its application domain, reporting the status of work products and providing feedback on the quality of work product, communicating decisions,raising issues.

Dealing with Communication Issues. Participants have many available tools but the most effective is conventions i.e participants agreeing on notations for representing information, tools, for manipulating information e.g. of notations are UML diagrams templates for writing document s and modelling, CASE(Computer Aided Software Engineering) for maintaining models, word processors for generating documents.

Rationale Management It has to do with justifying the decision made which includes the problem it addresses and the alternatives the developer considers.

Software Configuration Management. It is the process that monitors and controls changes in workproducts.

Project Management. It ensures the delivery of high-quality system on time and within budget by planning and budgeting the project during negotiation with clients, hiring developers and organizing them into teams.