Software Engineering Fall 2014

Similar documents
Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Software Engineering Fall 2014

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 08/27/2015

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering Fall 2014

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/03/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering (CSC 4350/6350) Rao Casturi

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Software Engineering Lab Manual

Enterprise Architect basic usage

UML Primer. -Elango Sundaram

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Chapter 2, Modeling with UML, Part 2

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

START the Registration Process

26. Object-Oriented Design. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

7. UML Sequence Diagrams Page 1 of 1

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

Chapter 2, lecture 2 Modeling with UML

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Unit Wise Questions. Unit-1 Concepts

Online Registration. CAPP courses are actual UW Oshkosh college courses!

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Unified Modeling Language (UML) Class Diagram

CSC 4710 / CSC 6710 Database Systems. Rao Casturi

Unified Modeling Language (UML)

Object-Oriented Software Engineering: Using UML, Patterns And Java (2nd Edition) By Allen H. Dutoit, Bernd Bruegge

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

UML Tutorial. Unified Modeling Language UML Tutorial

Requirements Engineering

Chapter 5, Analysis: Dynamic Modeling

Higher Reach Online Registration

Chapter 5, Analysis: Dynamic Modeling

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Using ICT Essentials Reports

Object-Oriented Analysis and Design Using UML (OO-226)

Introduction to Software Engineering: Analysis

WorkplaceNL s Certification Training Registry

Software Service Engineering

Object-Oriented Software Engineering Using UML, Patterns, And Java (3rd Edition) By Bernd Bruegge READ ONLINE

COAP 3110 INTERACTIVE SITE DEVELOPMENT

Frequently asked questions on the Exam Period

manaba+r Report Examination Manual [For Students]

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Object-Oriented Systems Analysis and Design Using UML

What is use case modeling? 10 - UML Overview. Use-Case diagrams CMPSCI520/620. Rick Adrion 2003 (except where noted) 1

Software Engineering

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

Software Engineering I (02161)

Practice Midterm Exam: Software Engineering

UML Sequence Diagrams for Process Views

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Degree Conferral Application Instructions For Students

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

ATTENTION TO COME/ISE 491/492 STUDENT

CSE 308. UML Sequence Diagrams. Reading / Reference.

Introduction to Software Engineering. 6. Modeling Behaviour

Chapter 7: Entity-Relationship Model

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

Chapter 2. Database Design. Database Systems p. 25/540

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

UML part I. UML part I 1/41

SEEM4570 System Design and Implementation Lecture 11 UML

CSC 111 Introduction to Computer Science (Section C)

Object Oriented Modeling

INF 111 / CSE 121. Laboratory 6: Package and Sequence Diagrams using ArgoUML

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...

Chapter 2, Modeling with UML, Part 2

Other Relational Languages

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Progress Report. Object-Oriented Software Development: Requirements elicitation and analysis. Object-oriented analysis, design, implementation

Course "Softwaretechnik Modeling with UML Stephan Salinger

Ch 4: Requirements Engineering. What are requirements?

APPENDIX M INTRODUCTION TO THE UML

Ch t 8 Chapter 8. System Models

Lecture 16: (Architecture IV)

Announcements (January 20) Relational Database Design. Database (schema) design. Entity-relationship (E/R) model. ODL (Object Definition Language)

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

CS 451 Software Engineering

University Core Curriculum Requirements

Chapter 2: Entity-Relationship Model

Step 1 Type into address line of any Browser eg Google Chrome, Mozilla Firefox, Microsoft Edge, Safari, Opera, etc

McGovern Medical School Internal User Guide

Fundamentals of Health Workflow Process Analysis and Redesign

Interaction Modelling: Use Cases

Chapter 7: Entity-Relationship Model

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Chapter 7: Entity-Relationship Model

CIS 101 Orientation Document Fall 2017

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Software Life-Cycle Models

UML: Unified Modeling Language

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Transcription:

Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 10/01/2014

Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation) Will be posed tonight or tomorrow Mid Term Exam (10/8/2014 Wednesday) Topics Chapters 1 to 5 Not an open book. 5 to 6 Questions in Class exam. Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 2

Activities of the Analysis Phase 1. Identify Entity, Boundary and Control Objects 2. Map Use Cases to Objects with Sequence Diagrams 3. Modeling Interactions between the Objects 4. Identify the Association, Aggregation and Attributes of the Classes 5. Modeling State Behavior of Individual Objects 6. Modeling Inheritance Relationships 7. Review Analysis Model Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 3

Recap Model View Controller Design Pattern Business Logic, UI, Middleware Identifying Entity, Boundary and Control Objects Natural Language UI Design (Prototype Horizontal & Vertical) One Control Object per Use Case, Actor Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 4

Identify Entity, Boundary and Control Objects Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 5

Student Registration System (SRS) RC University Management Board approved a new Student Registration System to enable the on line course requirement for the Computer Science Department. The implementation of the new system is proposed to be in place by 2015 Spring. The new system is called SRS. What is expected by the SRS: The Student Registration System (SRS) shall include the ability for any accepted student to view his or her classes for a given semester. The SRS shall permit any active student to add new classes or modify existing classes. The SRS shall give the users to view the student records. The SRS will be able to print the records if needed. The SRS shall give the ability for the administrator to modify the student records for the given semester. The SRS shall log the history. The Course coordinator or department assigned person can view the student educational progress reports. SRS shall provide the functionality to pay the student dues. SRS will be used to capture student grades on the specific classes taken by the student The SRS will run on any standard browser with standard user authentication. SRS will not accept any payments directly but directed to a third party vendor to accept the payments by credit cards only. The data will be updated on SRS from the payment system by end of every day 8:00 pm. Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 6

Map Use Cases to Objects with Sequence Diagrams Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 7

Sequence Diagrams Sequence Diagrams ties Use Cases with Objects. Characteristics of Sequence Diagrams Time on Vertical Axis. Objects on the Horizontal Axis as columns. Messages are show with solid arrows. Labels on solid arrows represent messages names (can contain arguments). Executing Methods (Activation) is represented with vertical rectangles. Actors are usually on the left most column. Messages coming from the Actor represents the interactions described in use cases. Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 8

Mapping Use Cases to Objects using Sequence Diagrams Time Line Student :StudentMenu Click() <<Create>> :ViewOption :ViewPrintObject <<Create>> :SemesterSelector SelectSemester() <<Create>> :SemesterSubmitObject SemesterValue() SubmitRequest() <<Create>> Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 9

Mapping Use Cases to Objects using Sequence Diagrams Best Practice: First column should represent the actor who initiated the Use Case. Second column should be the Boundary Object. Third Column usually the Control Object. The control object will drive the rest of the Use Case. Boundary object creates the control object. Entity Objects are accessed by boundary and control objects. Entity Objects never access boundary or control objects. Advantages New Participating objects. Missing behavior. Remove redundancies. Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 10

Categories and Category Interaction Diagrams (CID) Category is a collection of logically related Classes. Logically related Classes is a collection of Classes related through single inheritance. A collection of Classes related through aggregation, or a collection of Classes based on meaningful context. A Category should not be based on Functional capability unless it is Process Category or an Interface Category. A collection of Categories represents a functional area and is called a Domain in UML Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 11

Modeling Interactions among objects with CRC Cards (Class, Responsibilities and Collaborators) Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 12

Modeling Interactions among objects with CRC Cards CRC : Class, Responsibilities and Collaborators Structure: Top Class Name, Left : Responsibilities, Right: Classes it needs Useful for a group of developers. High level representation of the Sequence Diagrams. Easy follow and easy to modify during the Analysis Phase. AuthenticationControl Responsibilities Collect User Id and Password Pass/Fail Notification Collaborators LoginObject StudentDBObject MessageObject Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 13

Identify Associations Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 14

Identify Associations Associations: Shows the relationship between 2 or more classes. Clarifies the model by making the relationship between objects. Enables the developers to discover the boundary cases. Too many associations will complicate the design model. Properties Name Describes the association between the 2 objects Role- Describe the function of each class (at the end of the class) Multiplicity Describe the number of instances the class can have Instructor 1 Teaches * Course Teacher Class Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 15

Aggregations are special types of associations. Aggregation denotes a whole-part relationship. The UML Symbol is Diamond on the side of the whole part. Types of Associations Composition (Use when the parts depend on the whole) Solid Diamond. Shared (Use when the whole and the part can exist independently) Hallow Diamond. Where do we use them? UI Design. Database architecture. Identify Aggregates Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 16

Identify Aggregates - Example Composition Shared Source: Object-Oriented Software Engineering Bruegge & Dutoit Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 17

Identify Attributes Properties of individual objects. Denote by Name and Type. Consider only the attributes relevant to the system. Name Student StudentName : String SSNNumber: String StudentID: Integer Type Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 18

Modeling State-Dependent Behavior of Individual Objects Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 19

State Machine Diagrams State machine diagrams represent behavior from the perspective of a single object. Helps developer to build a more formal description of the behavior of the object. Helps in identify missing use cases. Not needed to write or draw SMDs for all the Classes. Pick up for only objects with extended life span (Control Objects) Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 20

Questions? Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 21

References Use Cases Combined with BOOCH, OMT UML Process and Products - Putnam P Texel, Charles B Williams Object-Oriented Software Engineering Using UML Patterns, and JAVA -Bernd Bruegge & Allen H. Dutoit Software Engineering 9th Edition - Ian Sommerville Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 22