Presentation is loading. Please wait.

Presentation is loading. Please wait.

CEN 5011 Advanced Software Engineering

Similar presentations


Presentation on theme: "CEN 5011 Advanced Software Engineering"— Presentation transcript:

1 CEN 5011 Advanced Software Engineering
Introduction Instructor: Masoud Sadjadi

2 Acknowledgements Dr. Peter Clarke Dr. Betty Cheng Dr. Bernd Bruegge
Dr. Allen Dutoit

3 Agenda Introduction to Software Engineering

4 What is Software Engineering? (1)
Systematic approach for developing software “Methods and techniques to develop and maintain quality software to solve problems.” [Pfleeger, 1990] “Study of the principles and methodologies for developing and maintaining software systems.” [Zelkowitz, 1978] “Software engineering is an engineering discipline which is concerned with all aspects of software production.” [Sommerville]

5 What is Software Engineering? (2)
“Practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate, and maintain them.” [Boehm, 1976] “Deals with establishment of sound engineering principles and methods in order to economically obtain software that is reliable and works on real machines.” [Bauer, 1972]

6 Questions Addressed by SE
How do we ensure the quality of the software that we produce? How do we meet growing demand and still maintain budget control? How do we avoid disastrous time delays?

7 Why apply SE to Systems? Provide an understandable process for system development. Develop systems and software that are maintainable and easily changed. Develop robust software and system. Allow the process of creating computing-based systems to be repeatable and manageable.

8 How can we apply SE? Modeling Problem-solving Knowledge acquisition
Rationale-driven

9 1. Modeling “A model is an abstract representation of a system that enables us to answer questions about the system.” Why use a model? Systems are too large, too small, too complicated, or too expensive, to experience firsthand. Models allow Visualization Comprehension

10 2. Problem Solving Formulate the problem Analyze the problem
Search for solutions Decide on the appropriate solution Specify the solution

11 3. Knowledge Acquisition
Domain specific knowledge. New knowledge can affect the development process. Knowledge acquisition is nonlinear – affects several of the software development models. Risk assessment is important.

12 4. Rationale Management Assumptions made about systems change constantly. Application domain models stabilize, solution domain models are in constant flux. Changes to the solution models due to: design and implementation faults new technology Need to understand the context in which each design decision was made.


Download ppt "CEN 5011 Advanced Software Engineering"

Similar presentations


Ads by Google