1 / 19

Software Production

Software Production. (0721330) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD) http://philadelphia.edu.jo/academics/shanna. Course Objectives.

petertaylor
Download Presentation

Software Production

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Production (0721330) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD) http://philadelphia.edu.jo/academics/shanna

  2. Course Objectives • This course provides students with an overall context in which software systems are developed from the viewpoint of processes that support the development. • Software engineering is described as the set of activities developers engage in to create high-quality products within schedule and budget constraints.

  3. Specific Objectives • Understand the theoretical basis for process improvement efforts. • Compare specific processes

  4. Process Improvement Frameworks Process Models Actual Core Processes Making Things Better Knowing What we Are doing In first place Objectives

  5. Textbooks • B. Bruegge, A. H. Dutoit, “Object-Oriented Software Engineering Using UML, Patterns, and Java”, Third Edition, Prntice Hall, 2009. • R. Pressman, “Software Engineering, A Practitioner’s Approach” Seventh Edition, McGraw-Hill, 2010. • J. Hunt, “Agile Software Construction”, Springer, 2006. Notes: • First and second textbooks are available at the university library • Third is available as a pdf file on the lecturer’s website.

  6. Chapter 1: Introduction

  7. What we intend Requirements Software

  8. Requirements Analysis Design Implementation Testing Delivery and Installation How it should go

  9. Inherent Problems with Software Development • Requirements are complex • The client does not know the functional requirements in advance • Requirements may be changing • Technology enablers introduce new possibilities to deal with requirements • Frequent changes are difficult to manage • There is more than one software system • New system must be backward compatible with existing system (“legacy system”) • This leads us to software life cycle modeling

  10. Definitions • Software lifecycle modeling: Attempt to deal with complexity and change • Software lifecycle: • Set of activities and their relationships to each other to support the development of a software system

  11. Identifying Software Development Activities • For finding activities and dependencies we can use the same modeling techniques when modeling a system such as creating scenarios, use case models, object identification, drawing class diagrams, activity diagrams • Questions to ask: • What is the problem? • What is the solution? • What are the mechanisms that best implement the solution? • How is the solution constructed? • Is the problem solved? • Can the customer use the solution? • How do we deal with changes that occur during the development? Are enhancements needed?

  12. Requirements Analysis What is the solution? System Design What are the mechanismsthat best implement the solution? Program Design How is the solutionconstructed? Program Implementation Is the problem solved? Testing Can the customer use the solution? Delivery Are enhancements needed? Maintenance Possible Identification of Software Development Activities What is the problem? Problem Domain Implementation Domain

  13. Software Development as Application Domain: A Use Case Model

  14. Activity diagram for the same life cycle model Software development goes through a linear progression of states called software development activities

  15. Object Design Document Problem Statement Test Manual Requirements Analysis Document Executable system System Design Document User Manual Software Development as Application Domain: Simple Object Model Software Development

  16. What is a process? • A group of homogeneous tasks that are related together in which an outcome can be identified. • People, equipment, input, methods, and environment that work together to produce output. • The set of activities, methods, and practices that are used in the production and evolution of software. • Set of activities, organized in steps, in order to transform users needs into operational software. • Steps, partially ordered, are in interaction and aim to achieve a goal.

  17. Processes, Activities and Tasks • Process Group: Consists of Set of Processes • Process: Consists of Activities • Activity: Consists of sub activities and tasks Development Process Group Process Design Activity Design Database Task Make a Purchase Recommendation

  18. Object Model of the Software Life Cycle

  19. Questions

More Related