15.1.2003Software Engineering 2003 Jyrki Nummenmaa 1 A BASIC OO SOFTWARE DEVELOPMENT PROCESS Earlier, we saw a number of different software lifecycle models.

Slides:



Advertisements
Similar presentations
Unit 6 Assignment 2 Chris Boardley.
Advertisements

10 Software Engineering Foundations of Computer Science ã Cengage Learning.
MIS 2000 Class 20 System Development Process Updated 2014.
Systems Analysis and Design in a Changing World, 6th Edition
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Software Engineering 2003 Jyrki Nummenmaa 1 OBJECT ARCHITECTURE DESIGN These slides continue with our example application, based on the simplified.
SYSC System Analysis and Design
Assignment I, part 1. Groups of three students. Specify one as group leader. group names to TA and me. Create an object-oriented conceptualization.
Object Oriented System Development with VB .NET
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
© Copyright Eliyahu Brutman Programming Techniques Course.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Object-Oriented Analysis and Design
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
TESTING.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Engineering
OHTO -99 SOFTWARE ENGINEERING LECTURE 5 Today: - An overview to OO Analysis and OO Design - Introduction of Assignment 2.
Introduction to Java August 14, 2008 Mrs. C. Furman.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Chapter 12 Evaluating Products, Processes, and Resources.
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
Chapter 7 Applying UML and Patterns Craig Larman
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa OO A&D FOR DATABASE- DRIVEN SOFTWARE Larger software.
The Systems Development Life Cycle
Software Engineering 2004 Jyrki Nummenmaa 1 A BASIC OO SOFTWARE DEVELOPMENT PROCESS Earlier, we saw a number of different software lifecycle models.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
Systems Analysis and Design in a Changing World, Fourth Edition
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Systems Analysis and Design in a Changing World, 6th Edition
Software Engineering 2003 Jyrki Nummenmaa 1 EXAMPLE PROJECT / SE 2003 Each year the software engineering (SE) course uses an example project to.
Copyright ©2004 Cezary Z Janikow 1 OOAD Overview n OO language – Necessary for OO systems? – Sufficient for OO systems? Owning a hummer doesn’t make you.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Article Summary of The Structural Complexity of Software: An Experimental Test By Darcy, Kemerer, Slaughter and Tomayko In IEEE Transactions of Software.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Use Case Textual Analysis
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa OBJECT-ORIENTED ANALYSIS Earlier, we saw a number of.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Systems Analysis and Design in a Changing World, 6th Edition
ITEC 370 Lecture 13 Design.
CS4311 Spring 2011 Process Improvement Dr
OO TESTING Module testing -> Class testing Integration testing
Software Engineering Summarized Slides.
Overview of System Engineering
Chapter 2 Software Processes
Systems Analysis Overview.
Starting Design: Logical Architecture and UML Package Diagrams
Unit 6 Assignment 2 Chris Boardley.
John D. McGregor Module 6 Session 1 More Design
MORE ON ARCHITECTURES The main reasons for using an architecture are maintainability and performance. We want to structure the software into reasonably.
OBJECT ARCHITECTURE DESIGN
Chapter 2. Problem Solving and Software Engineering
Presentation transcript:

Software Engineering 2003 Jyrki Nummenmaa 1 A BASIC OO SOFTWARE DEVELOPMENT PROCESS Earlier, we saw a number of different software lifecycle models. Similarly, there exists different ways to develop object oriented (OO) software. We will start with a very basic OO waterfall model as given in the textbooks. That model is ok, if there is no (relational) database and the software is not that big. Later, we will study why this is typically only good for small non-database software. We will also study how large-scale database-driven OO software should be developed.

Software Engineering 2003 Jyrki Nummenmaa 2 The Waterfall Model for OO The same model basically applies with V&V Requirement specification Maintenance Testing Implementation Analysis & Design <- This is standard. <- This is the main thing. <- This is done according to the design. This has some special issues, but I will talk ---> about testing separately. We may talk about this separately. ->

Software Engineering 2003 Jyrki Nummenmaa 3 Object Analysis And Design The goal is to start from the requirements, and to come up with a description of the software (classes with their attributes and methods) which can be implemented in a fairly straightforward way. Usually we talk about “analysis model” and “design model”. Analysis model is something which, in principle, describes the system in OO terms, but we would not want to implement it as such, for reasons such as efficiency and maintainability. Design model is something we want to implement.

Software Engineering 2003 Jyrki Nummenmaa 4 Object Analysis Goal: Start from the requirement specification and come up with –A description of the classes (commonly a class diagram, to be introduced later) –A description on how the use cases are to be executed using these classes (with some other UML diagrams such as sequence diagrams, also to be introduced later). Methods: –“Meditation-type” methods which more or less means “no methods”. –Requirement specification text analysis. <- Our plan here! –Analysis of all possible technical documentation of an old system or other existing systems. –Possibly separate analysis of the domain (e.g. banking).

Software Engineering 2003 Jyrki Nummenmaa 5 Object Design - Architecture This typically starts with something called “architectural design”, which in a way describes the basic solutions and or models, which the design is going to follow. Here, we identify different processes, which possibly run on different computers. There is a number of “design styles”, which may be applied. The technology and the software development tools may probably have a major impact on the architectural solutions.

Software Engineering 2003 Jyrki Nummenmaa 6 Object Design Once the architectural decisions have been made, the analysis model is developed into a model describing the classes that we are actually going to implement. The UML diagram types are probably mostly the same as in analysis, but new classes, methods and attributes are introduced for the implementation.

Software Engineering 2003 Jyrki Nummenmaa 7 Next time We will go through this process based on an example.