Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 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

3 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.

4 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:

5 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.

6 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

7 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.

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

9 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.

10 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.

11 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.

12 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.

13 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.

14 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.

15 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.

16 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.

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

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

19 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.


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

Similar presentations


Ads by Google