introduction to software engineering

23
INTRODUCTION TO SOFTWARE ENGINEERING Authors: William M. Buchanan Joseph Picone Contact Information: ECE 4512 / 4522 Box 9571 Mississippi State University Mississippi State, Mississippi 39762 Tel: 662-325-3149 Fax: 662-325-2298 DESIGN I • Email: {buchanan, picone}@ece.msstate.edu

Upload: stephanie-hull

Post on 03-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

• Authors: William M. Buchanan Joseph Picone •Contact Information: ECE 4512 / 4522 Box 9571 Mississippi State University Mississippi State, Mississippi 39762 Tel: 662-325-3149 Fax: 662-325-2298. INTRODUCTION TO SOFTWARE ENGINEERING. DESIGN I. •Email: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION TO SOFTWARE ENGINEERING

• Authors:

William M. Buchanan

Joseph Picone

• Contact Information:

ECE 4512 / 4522

Box 9571

Mississippi State University

Mississippi State, Mississippi 39762

Tel: 662-325-3149

Fax: 662-325-2298

DESIGN I

• Email:{buchanan, picone}@ece.msstate.edu

Page 2: INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTIONTHE EUREKA STORY

Page 3: INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTIONSENIOR DESIGN DELIVERABLES

Four homework assignments:

• Physical Model: drawings showing externally visible objects

• Use Cases: two use cases representing correct (“sunny”) and problematic (“rainy”) behavior

• Information Model: a diagram of how externally visible objects interact with one another

• Process Model: a detailed state machine showing how one of your most interesting objects is implemented

Page 4: INTRODUCTION TO SOFTWARE ENGINEERING

OVERVIEWBILL’S AMAZING VENDING MACHINE

Page 5: INTRODUCTION TO SOFTWARE ENGINEERING

OVERVIEWUSE CASES

Page 6: INTRODUCTION TO SOFTWARE ENGINEERING

OVERVIEWINFORMATION MODEL

Page 7: INTRODUCTION TO SOFTWARE ENGINEERING

OVERVIEWSTATE AND PROCESS MODEL

Page 8: INTRODUCTION TO SOFTWARE ENGINEERING

OVERVIEWOBJECT COMMUNICATION MODEL

Page 9: INTRODUCTION TO SOFTWARE ENGINEERING

• Labeled line drawings or pictures of your externally visible objects

Picture or Labeled Line Drawing

USE CASESFIRST DELIVERABLE: PHYSICAL MODEL

Page 10: INTRODUCTION TO SOFTWARE ENGINEERING

USE CASESDESCRIBES USER INTERACTIONS

Page 11: INTRODUCTION TO SOFTWARE ENGINEERING

USE CASESSTATE MACHINE REPRESENTATION

Page 12: INTRODUCTION TO SOFTWARE ENGINEERING

USE CASESMODELING DATA FLOW

Page 13: INTRODUCTION TO SOFTWARE ENGINEERING

USE CASESSECOND DELIVERABLE

Page 14: INTRODUCTION TO SOFTWARE ENGINEERING

INFORMATION MODELRELATIONSHIPS, OBJECTS, ATTRIBUTES

Page 15: INTRODUCTION TO SOFTWARE ENGINEERING

INFORMATION MODELRELATIONSHIPS, OBJECTS, ATTRIBUTES

Page 16: INTRODUCTION TO SOFTWARE ENGINEERING

• Consists of objects (e.g., attributes) and relationships (e.g., one-to-one, one-to-many)

• Object definition: a set of real-world things with common characteristics; all instances of an object behave the same

• Objects are:Tangible things that make up the problemRoles played by people or organizations Incidents (e.g. accidents, system crashes, service calls) Interactions with a transaction or contract quality (e.g.,

purchase related to buyer, seller, and thing purchased)Table Specifications (e.g., definition of attributes) Designed through an iterative process

INFORMATION MODELPROPERTIES

Page 17: INTRODUCTION TO SOFTWARE ENGINEERING

INFORMATION MODELKEYS TO SUCCESS

• Imagine you’re a specific instance of an object when evaluating relationships; e.g. one-to-one, one-to-many, etc.

• Answer questions about relationships from the mindset of an object instance

• Understand that relationships represent information exchange agreements between objects

• Don’t create an object unless you’re absolutely convinced you’ve got to have it

• Objects are work - more often than not, a lot of work

Page 18: INTRODUCTION TO SOFTWARE ENGINEERING

INFORMATION MODELTHIRD DELIVERABLE

Page 19: INTRODUCTION TO SOFTWARE ENGINEERING

PROCESS MODEL

• A different way to see, discover, and describe the same old problems

• Describe the solution in terms of the problem• OOA Models represent a higher layer of abstraction• When used in product development, the goal is to

maintain the models, not the code

Object-oriented analysis describes the problem using coupled graphical equations: information, state, and process models

Object-oriented development produces the code

OBJECT-ORIENTED ANALYSIS (OOA)

Page 20: INTRODUCTION TO SOFTWARE ENGINEERING

PROCESS MODELDEFINITIONS

• What is Object-Oriented Development?

Performance specification Template creation Code generation

• What is Object-Oriented Analysis?

Behavior specification using models (models reflect the major components of the problem)

Behavior simulation by walking through (or executing) the models

Page 21: INTRODUCTION TO SOFTWARE ENGINEERING

PROCESS MODELTHE OOA LEARNING CURVE

Page 22: INTRODUCTION TO SOFTWARE ENGINEERING

PROCESS MODELFOURTH DELIVERABLE

Page 23: INTRODUCTION TO SOFTWARE ENGINEERING

SUMMARYTHE COMPLETE PICTURE