CEN 4010 Software Engineering 1 Section 2 Fall

  • Slides: 10
Download presentation
CEN 4010 Software Engineering 1 Section 2 Fall 2005 Instructor: Peter Clarke http: //www.

CEN 4010 Software Engineering 1 Section 2 Fall 2005 Instructor: Peter Clarke http: //www. cs. fiu. edu/~clarkep/courses/Fall 2005/cen 4010 CEN 4010 Class 1 - 08/30

Course Introduction • • Syllabus Project Questions What is s/w eng. ? CEN 4010

Course Introduction • • Syllabus Project Questions What is s/w eng. ? CEN 4010 Class 1 - 08/30 2

Overview of Software Process • • Definition. Why S/w Eng. ? CEN 4010 Class

Overview of Software Process • • Definition. Why S/w Eng. ? CEN 4010 Class 1 - 08/30 3

What is Software Engineering? • Software Engineering is the application of a systematic, disciplined,

What is Software Engineering? • Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. (5/5 points) (Source: IEEE Std 610. 12 -1990, IEEE Standard Glossary of Software Engineering Terminology) CEN 4010 Class 1 - 08/30 4

What is Software Engineering? cont • “Software engineering is an engineering discipline which is

What is Software Engineering? cont • “Software engineering is an engineering discipline which is concerned with all aspects of software production. ” Sommerville (3/5 points) • Software engineering is – modeling – problem-solving – knowledge acquisition – rationale-driven (3/5 points) Bruegge & Dutoit CEN 4010 Class 1 - 08/30 5

Why software engineering? • • • Bugs – leap-year, Y 2 K, etc. Interface

Why software engineering? • • • Bugs – leap-year, Y 2 K, etc. Interface misuse Security Late and over budget On-time delivery Unnecessary complexity CEN 4010 Class 1 - 08/30 Bottom line COST (see text book) 6

Modeling • “A model is an abstract representation of a system that enables us

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 CEN 4010 Class 1 - 08/30 7

Problem Solving Steps in problem solving: 1. 2. 3. 4. 5. formulate the problem

Problem Solving Steps in problem solving: 1. 2. 3. 4. 5. formulate the problem analyze the problem search for solutions decide on the appropriate solution specify the solution CEN 4010 Class 1 - 08/30 8

Knowledge Acquisition • Domain specific knowledge. • New knowledge can affect the development process.

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. CEN 4010 Class 1 - 08/30 9

Rationale Management • Assumptions made about systems change constantly. • Application domain models stabilize,

Rationale Management • Assumptions made about systems change constantly. • Application domain models stabilize, solution domain models are in constant flux. e. g. 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. CEN 4010 Class 1 - 08/30 10