INTRODUCTION TO SOFTWARE ENGINEERING Authors: William M. Buchanan Joseph Picone Contact Information:...

Post on 17-Jan-2016

218 views 0 download

Tags:

Transcript of INTRODUCTION TO SOFTWARE ENGINEERING Authors: William M. Buchanan Joseph Picone Contact Information:...

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

INTRODUCTIONTHE EUREKA STORY

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

OVERVIEWBILL’S AMAZING VENDING MACHINE

OVERVIEWUSE CASES

OVERVIEWINFORMATION MODEL

OVERVIEWSTATE AND PROCESS MODEL

OVERVIEWOBJECT COMMUNICATION MODEL

• Labeled line drawings or pictures of your externally visible objects

Picture or Labeled Line Drawing

USE CASESFIRST DELIVERABLE: PHYSICAL MODEL

USE CASESDESCRIBES USER INTERACTIONS

USE CASESSTATE MACHINE REPRESENTATION

USE CASESMODELING DATA FLOW

USE CASESSECOND DELIVERABLE

INFORMATION MODELRELATIONSHIPS, OBJECTS, ATTRIBUTES

INFORMATION MODELRELATIONSHIPS, OBJECTS, ATTRIBUTES

• 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

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

INFORMATION MODELTHIRD DELIVERABLE

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)

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

PROCESS MODELTHE OOA LEARNING CURVE

PROCESS MODELFOURTH DELIVERABLE

SUMMARYTHE COMPLETE PICTURE