Download - INTRODUCTION TO SOFTWARE ENGINEERING
![Page 1: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/2.jpg)
INTRODUCTIONTHE EUREKA STORY
![Page 3: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/4.jpg)
OVERVIEWBILL’S AMAZING VENDING MACHINE
![Page 5: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/5.jpg)
OVERVIEWUSE CASES
![Page 6: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/6.jpg)
OVERVIEWINFORMATION MODEL
![Page 7: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/7.jpg)
OVERVIEWSTATE AND PROCESS MODEL
![Page 8: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/8.jpg)
OVERVIEWOBJECT COMMUNICATION MODEL
![Page 9: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/9.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/10.jpg)
USE CASESDESCRIBES USER INTERACTIONS
![Page 11: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/11.jpg)
USE CASESSTATE MACHINE REPRESENTATION
![Page 12: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/12.jpg)
USE CASESMODELING DATA FLOW
![Page 13: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/13.jpg)
USE CASESSECOND DELIVERABLE
![Page 14: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/14.jpg)
INFORMATION MODELRELATIONSHIPS, OBJECTS, ATTRIBUTES
![Page 15: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/15.jpg)
INFORMATION MODELRELATIONSHIPS, OBJECTS, ATTRIBUTES
![Page 16: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/16.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/18.jpg)
INFORMATION MODELTHIRD DELIVERABLE
![Page 19: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/21.jpg)
PROCESS MODELTHE OOA LEARNING CURVE
![Page 22: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/22.jpg)
PROCESS MODELFOURTH DELIVERABLE
![Page 23: INTRODUCTION TO SOFTWARE ENGINEERING](https://reader033.vdocuments.mx/reader033/viewer/2022051416/568135db550346895d9d4d8b/html5/thumbnails/23.jpg)
SUMMARYTHE COMPLETE PICTURE