Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPSC 2150 August 21, 2015. Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.

Similar presentations


Presentation on theme: "CPSC 2150 August 21, 2015. Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges."— Presentation transcript:

1 CPSC 2150 August 21, 2015

2 Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges of software development Software Development Activities Desirable qualities of software products

3 Challenges What do you think challenges of software development might be?

4 Challenges Software packages are no longer small Larger packages means software more complex requiring teams of programs; thereby increasing ?what? Debugging and testing Higher expectation from clients

5 Software Development Activities SD involves much more than writing code Software Documentation Project requirements specification Architecture and design documents Installation and user manuals

6 Steps Involved in SD Software Development Life Cycle (SDLC) Requirements analysis Design Implementation and Unit Testing Integration and System Testing Maintenance

7 Requirements Analysis Goal: to establish the functions, services, and constraints of the software to be developed. (define the problem) Two types Customized software – for one specific customer Commercial “shrink-wrapped” - to be sold Two categories of requirements Functional – What is the software suppose to do Non-Functional – What constraints does the software operate under

8 Design Goal: construct a solution to the problem by establishing an overall architecture of the software by Partitioning the software into components or subsystems Identifying the relationships and dependencies among them Two categories of design System design – breaking into manageable components Detail design - creating the solution to each component

9 Implementation and Unit Testing Implementation is the realization of the actual code Implement each component separately Test each component indivicually

10 Integration and System Testing Putting all components together and testing the system as a whole Ensures the system meets the system specifications

11 Maintenance This step involves activities after the software has been delivered Activities include Correcting bugs Improving performance Enhancing functions or services Adapting to new environments Longest and most costly activity in the life cycle

12 Software Development Processes Involves when and how to complete the steps in the SDLC Options Waterfall method – each step is completed before you move on to the next step - not realistic Iterative design process Rational Unified Process (RUP) Extreme Programming (XP)

13 Iterative Design Introduced in 1994 by Software Engineer, Grady Booch Goal: use a number of successive iterations of the following steps: Identify a necessary class Identify the attributes and behaviors of the class Identify the relationships between the classes Define a class interface Implement the class

14 Iterative Design Each iteration deals with a small portion of the system until the whole system is complete This process follows the following phases AnalysisModelingDesignImplementationMaintenance Became known as the Rational Unified Process(RUP)

15 Iterative Design Each iteration deals with a small portion of the system until the whole system is complete Follows the following phases AnalysisModelingDesignImplementationMaintenance Became known as the Rational Unified Process(RUP)

16 Key Practices of RUP Develop software iteratively Systematically elicit, organize, and manage changing requirements Use component-based architecture Visually model software using UML Continually verify software quality Control changes to software

17 Extreme Programming XP A lightweight process – emphases producing high-quality executable code throughout the development process Small iterations that produces small bit of the overall system Each iteration improves the previous iteration until the entire system is built Relies heavily on refactoring to facilitate changes and enhancements Refactoring – restructures the code to improve the quality of the system

18 Key Practices of XP Planning Frequent and small release Metaphor when communicating with customer Simple design Test first Refactoring Pair programming

19 Key Practices of XP Collective ownership Continuous integration 40-hour weeks On-site customer Coding standards


Download ppt "CPSC 2150 August 21, 2015. Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges."

Similar presentations


Ads by Google