SE310 Analysis and Design of Software

Similar documents
Development Process Bennett, McRobb and Farmer 1

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

SE420 Software Quality Assurance

Object-Oriented & Classical Soft Engineering

Note 10: Software Process

MODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Rational Unified Process

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

SE420 Software Quality Assurance

CMPT 275 Software Engineering

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

The software process

Introduction to Software Engineering

Course Organization. Lecture 1/Part 1

Software Reviews Since Acquisition Reform Architecture-Driven Considerations

Software Construction

CS 307: Software Engineering. Lecture 14: Project Management

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Requirements Engineering

03. Perspective Process Models

Babu Madhav Institute of Information Technology, UTU 2017

The Product Creation Process

Software Life Cycle. Main Topics. Introduction

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15

Chapter 1 Systems Development in an Organization Context

MSO Lecture 2. Wouter Swierstra (adapted by HP) September 14, 2017

The Top Thrill Dragster

Task 1: Multiple Choice (25%)

MDA and Object-Oriented System Analysis and Design Integration for TanSSe-L System Development

Quality Management of Software and Systems: Processes and QM

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Requirements Analysis. Overview

Software development activities

A New Divide & Conquer Software Process Model

Software Lifecycle Models

2/14/2013. Software Engineering. Session 3 Sub-Topic. 1 Strategy Alignment Elicitation Methodology. Dr. Jean-Claude Franchitti

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Introduction to Software Engineering

18-642: Software Development Processes

Architectural Design. Objectives

The Unified Software Development Process

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM

Lesson 31- Non-Execution Based Testing. October 24, Software Engineering CSCI 4490

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Collaborative Development of Systems Architecting Design Rules

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Levels of S/W Requirements. Types of S/W Requirements

Requirements Engineering. Andreas Zeller Saarland University

Requirements Engineering and Agile Methodology

Architecture Development Methodology for Business Applications

Unifying Systems and Software Teams: A Holistic Approach to Systems Development

Pearson Education 2007 Chapter 1 (RASD 3/e)

Chapter 1 Software Process

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

Pertemuan 2. Software Engineering: The Process

Chapter 3 Software Process Model

The Making of Information Systems

02291: System Integration

IBM Rational Systems Developer, Version 7.0

CSE870, Advanced Software Engineering, Cheng

Significance of Quality Metrics during Software Development Process

End To End Training For Your Business Analyst Career

Topic 12. SW/CIS Project Estimates (LOC, FP, efforts, cost, etc.)

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

Enterprise IT Architectures SOA Part 1

INF5181: Process Improvement and Agile Methods in Systems Development

Functional requirements and acceptance testing

Model-Driven Service Engineering with SoaML

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

Sistemi ICT per il Business Networking

Command and Control Software Development Lessons Learned. Lt Col Michael D. Sarchet Deputy Director, Space Systems Command and Control Division

Designing Portal Amazing North Sulawesi Using Pusilkom Agile Unified Process Methodology Stanley Karouw, Hans Wowor, Gene Kapantow

Extreme Programming, an agile software development process

Intermediate Certificate in Software Testing Syllabus. Version 1.4

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

Processes and Life- Cycles. Kristian Sandahl

Joined-up Requirements: Business Goals to System Tests

[Name] [ ID] [Contact Number]

SEI Architecture Techniques complementary to the RUP Stuart Kerrigan, Richard van Schelven Principal Engineers Data Networks

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Software Engineering II - Exercise

SDLC AND MODEL SELECTION: A STUDY

Project Plan Version 1.0

Core Issues Affecting Software Architecture in Enterprise Projects

Enterprise Modeling. Why? Agent-oriented EM. Business Modeling Using UML. (Goal-oriented EM in Requirements Elicitation) Conventional Techniques

PEARSON. Addison Wesley

COCOMO II Demo and ARS Example

Introduction to Software Engineering

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Why OO-Developers like Agile Methods

Software Evolvability: An industry s view

Software Engineering Fall 2014

The Integrated Model Using Agile Practices to CBR

Transcription:

SE310 Analysis and Design of Software Lecture 7 REVIEW SM&D Chapters 1 to 11 & Notes February 13, 2018 Sam Siewert

Domain Models Use Case Details UML is Universal Modeling Language [OMG, UML.org] Use to Support Requirements Analysis Start Here! https://www.modelio.org/ USE Modelio 3.7 SD as your DESIGN TOOL OMG UML 2.5 Standard Structural Diagrams Start with Class Diagram and CRC Then Object Diagram Package and Deployment Behavioral Diagrams Start with Use Case Diagram Interaction Sequence Diagram after Class and Object Done Add State Machine and Activity Diagrams for concurrency and statefulness Helpful Validation and Verification Features for Design Integrated Models Checklists Completeness CPP and Java Code Generation Sam Siewert 2

Design V&V Strategies Considerations for Software Test and Evaluation NDIA Software Test Summit Dr. Ernest Seglie, Science Advisor to the Director, Operational Test and Evaluation Software Engineering: A Practitioner s Approach, 8/e (McGraw- Hill, 2014) copyright 2014 by Roger Pressman Process phase descriptions can vary. However, the concepts and theory are generally the same for a given model. Progression from Specification, to Analysis to High-Level Design (Architecture and System) to Components in Subsystems, to Units or Modules of Code Sam Siewert 3

SM&D Chapter 1&2 Chapter 1 PQCT [Productivity, Quality, Cost, Time-to- Market] SE Design and Development Process SE vs. CS Differences? Chapter 2 Process and Methods Process (what to do when) vs. Methodology (how) [p. 37] Waterfall, Prototyping Evolutionary Spiral Rational Unified Process [4 phases inception, elaboration, construction, transition] Agile strategy, principles [p. 35] Scrum and XP [p. 41] Sam Siewert 4

SM&D Chapter 3&4 Chapter 3 - Software and Systems Engineering Requirements Analysis (Decomposition) Architecture Diagrams [e.g. Block] OO vs. Structured [Class vs. ER/EER] Chapter 4 Software Requirements Challenges Customer almost never provides Types [p. 86] Capability [Notes], High Level Performance Quality (availability, reliability, recoverability) Safety (fail safe) Security Interfaces Requirements Walkthrough and Inspection Validation - Completeness, consistency, correctness Verification Use case analysis and tracing Sam Siewert 5

SM&D Chapter 5 Domain Modeling CRC [Class-Responsibility-Collaboration] Cards Use Cases [review examples and model elements] Class Diagram Aggregration Hierarchy & Inheritence Association OIM Sequence Diagrams Refinement of Class Diagram Domain Model checklist Modelio and UML 2.x Sam Siewert 6

SM&D Chapter 6&7 Chapter 6 - Architecture Focus on Modules (Classes) and Interfaces OIM Sequence diagrams Class diagram refinement Components (CSU), Subsystems (CSCI), Systems 4 Major Architectural Patterns [Interactive, Event, Transformational, Transaction] N-tier architecture [recall from CS317] Goals Practicing Agile Chapter 7 - Use Cases and Requirements Identifying Tracing p. 184 in Kung Use Case diagram elements Practicing Agile Sam Siewert 7

SM&D Chapter 8&9 Chapter 8 - Actor / System Interaction Models Including Actors in OIM User Interface Prototypes GUI and HCI Chapter 9 Object Interaction Models Sequence diagram elements and use [pp. 219-221] Steps in OIM [p. 225] OIM Checklist [p. 245] Sam Siewert 8

SM&D Chapter 10 Design Patterns Gang of Four (GoF) Patterns Work, Reuse Anti-patterns Don t Work, Avoid Singleton Controller Creator Reuse at Code Level Reuse at Design Level Sam Siewert 9

SM&D Chapter 11 DCD Design Class Diagram Identifying Class Diagram Details from OIM Sequence diagram Methods and parameters Object model (instantiation tests, constructor, destructor) Refining attributes DCD Checklist [p. 288] Package Diagram Strong Cohesion Loose Coupling Directory and file structure Practicing Agile Sam Siewert 10

Take Away Choose Strategy & Process appropriate for organization E.g. Agile strategy Spiral or XP process with Agile Methodology How to implement process Structured Analysis and Design OO Analysis and Design Feature Driven [p. 43] Domain Modeling with UML 2.x Analysis with Models (UC, Class, OIM sequence, Object, Package) Design with Models (fill in details through analysis and review) Architecture - Interfaces and Modules (Classes) Level-0 for SE310 DCD Design Class Diagram Level-1 for SE310 Sam Siewert 11