Download presentation
Presentation is loading. Please wait.
Published byCecily Lamb Modified over 9 years ago
1
June 05 David A. Gaitros Jean Muhammad Introduction to OOD and UML Dr. Jean Muhammad
2
Chapter Overview Challenge of software development Software development activities/processes Desirable qualities of software systems Object Oriented paradigm Object Oriented Development Activities Rational Unified Process Extreme Programming
3
Challenges of Software Development Why the “Software Crisis” Case Studies Is it a “True Engineering” discipline why or why not Increase Complexity Longevity and Evolution Increase expectations of an ever increasing sophisticated user
4
Software Development Activities There have been many proposed design models suggested over the years. To the untrained, the source code is the ultimate goal of software development and in many cases this appears to the focus of most design efforts. Source code is only a small part of the design process. Some design methodologies are more successful then others. All of them have their own advantages and disadvantages but most share a few common traits.
5
Software Development Activities Requirements Analysis: Establish the function, services, and constraints of the software to be developed. What are the customer’s problems? What are the expectations of the customer for the software? Two categories of requirements: Functional requirements Non-functional requirements
6
Software Development Activities Design: Goal is to construct a solution to the results of the requirements analysis. Partition the solution into increasingly smaller parts until each part is, by itself, easily solved. Define architecture components Define performance specifications
7
Software Development Activities Implementation and Unit Testing: Write the code Write the code to support the writing of the code Unit test each individual module against the design and specification
8
Software Development Activities Integration and System Testing Start to build the whole version of the system a piece of the time Start to develop the deployment procedures Test the modules together until the entire system is built and fully tested against the design and original requirements Question: Was the original problem solved?
9
Software Development Activities Classic Waterfall Model Requirements Analysis Design Implementation and Unit Test Integration and System Testing Maintenance
10
Desirable Qualities of Software Usefulness Timeliness Reliability Maintainability Reusability User Friendliness Efficiency
11
Desirable Qualities of Software Factors contributing to the maintainability of Software Flexibility Simplicity – More important then most developers realize Readibility
12
Object Oriented Paradigm Goal: Build software in such a manner using methods that reflect the way we think in the physical world. The “real world” is full of methods and heuristics that are not well defined and intuitive in nature. Computers are not intuitive machines. An Object has all of the parts needed to successfully operate: Data Methods
13
Object Oriented Paradigm 1950’s – 1960’s: Focus was on the algorithm. Basic data structures, sorting, and searching were just becoming sophisticated. Machines were still slow. 1970’s – 1980’s: Data was increasing in complexity. New design models were emerging to handle the increase load. 1990’s - ?: Ease of use, data acquisition, software reliability, maintainability are now more important. Limitations of hardware/software less of a consideration.
14
Object Oriented Development Activities Conceptualization: Involves establishing the complete requirements of the system. Object-oriented analysis and modeling: Model the desired behavior. Use case and class diagrams are developed. Identify the objects. Object-oriented Design. Create an architecture for implementation Implementation: Write the code. Maintenance: Remove errors, continuous improvement.
15
Rational Unified Process (RUP) Complete software engineering process Develops software interatively Manages requirements Uses component based architecture Visually model software using UML Continuously verify software quality Control changes to software
16
Rational Unified Process (RUP) Different models Business models Domain models Use case models Analysis models Design models Process models Development models Implementation models Test models
17
Extreme Programming Focus is on the development of executable code from the beginning Iterative process with small interations Each iteration will produce a minimum skeletal, and executable version of the system Each subsequent iteration makes small changes. Make small changes and improvements. Make sure each change is accurate and performs well
18
Extreme Programming Key practices in XP Planning game Frequent and small releases Frequent communications with customer Simple design Write the unit test before the code Fefactoring Pair Programming Collective ownership 40-hour work week. On-site customer Coding standards
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.