Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Production 0721330 1 (0721330) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)

Similar presentations


Presentation on theme: "Software Production 0721330 1 (0721330) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)"— Presentation transcript:

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

2 Software Production 0721330 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 Software Production 0721330 3 Specific Objectives  Understand the theoretical basis for process improvement efforts.  Compare specific processes

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

5 Software Production 0721330 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 Software Production 0721330 6 Chapter 1: Introduction

7 Software Production 0721330 7 Requirements Software What we intend

8 Software Production 0721330 8 How it should go Requirements Analysis Implementation Design Testing Delivery and Installation

9 Software Production 0721330 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 Software Production 0721330 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 Software Production 0721330 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 Software Production 0721330 12 Possible Identification of Software Development Activities Requirements Analysis What is the problem? System Design What is the solution? Program Design What are the mechanisms that best implement the solution? Program Implementation How is the solution constructed? Testing Is the problem solved? Delivery Can the customer use the solution? Maintenance Are enhancements needed? Problem Domain Problem Domain Implementation Domain Implementation Domain

13 Software Production 0721330 13 Software Development as Application Domain: A Use Case Model

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

15 Software Production 0721330 15 Software Development as Application Domain: Simple Object Model Object Design Document Requirements Analysis Document Executable systemProblem Statement Software Development System Design Document Test Manual User Manual

16 Software Production 0721330 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 Software Production 0721330 17 Processes, Activities and Tasks  Process Group: Consists of Set of Processes  Process: Consists of Activities  Activity: Consists of sub activities and tasks Process Group Process Group Process Activity Development Design Task Design Database Design Database Make a Purchase Recommendation Make a Purchase Recommendation

18 Software Production 0721330 18 Object Model of the Software Life Cycle

19 Questions


Download ppt "Software Production 0721330 1 (0721330) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)"

Similar presentations


Ads by Google