Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005]



Similar documents
Socio-Technical Systems

Systems Engineering. Designing, implementing, deploying and operating systems which include hardware, software and people

Socio technical Systems. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 2 Slide 1

Software Processes. Topics covered

Software Engineering UNIT -1 OVERVIEW

To introduce software process models To describe three generic process models and when they may be used

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

26. Legacy Systems. Objectives. Contents. Legacy systems 1

CSC 342 Semester I: H ( G)

Project Management Planning

Object-Oriented Systems Analysis and Design

Menouer Boubekeur, Gregory Provan

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Chapter 9 Software Evolution

Requirements Engineering Process

Software Engineering. So(ware Evolu1on

3SL. Requirements Definition and Management Using Cradle

Software Documentation

Software Development in the Large!

How To Develop Software

Chap 1. Introduction to Software Architecture

A Framework for Software Product Line Engineering

Software Engineering Reference Framework

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

Software Development Methodologies

Systems Development Life Cycle (SDLC)

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Chapter 8 Software Testing

Software Requirements 1

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment

Object Oriented Programming. Risk Management

Object-Oriented Design Guidelines

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Section C. Requirements Elicitation

REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification

Business Modeling with UML

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

A UML Introduction Tutorial

Writing Use Case Scenarios for Model Driven Development

What is a requirement? Software Requirements. Descriptions and specifications of a system

Design Document Version 0.0

Sofware Requirements Engineeing

Masters of Science in Software & Information Systems

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Algorithms, Flowcharts & Program Design. ComPro

ITS Projects Systems Engineering Process Compliance Checklist

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Engineering Process Software Qualities Software Architectural Design

PROJECT SCOPE MANAGEMENT

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

Communication Diagrams

System Specification. Objectives

Requirements Engineering: A Roadmap

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Chapter 6. Data-Flow Diagrams

Modular Safety Cases

Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach

What is Automotive Software Engineering? What is Automotive Software Engineering? What is Automotive Software Engineering?

Java Programming (10155)

System Requirements Specification (SRS) (Subsystem and Version #)

ERP Implementation in Oil Refineries

Interactive system specification. Interactive system definition. Issues to be taken into account for interactive systems

Chapter 4 Software Lifecycle and Performance Analysis

Use Case Diagrams. Tutorial

Requirements engineering

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

UML-based Test Generation and Execution

UNIFACE Component-based. Development Methodology UNIFACE V Revision 0 Dec 2000 UMET

Quantification and Traceability of Requirements

SCATS SALES AND CUSTOMER TRACKING SYSTEM SOFTWARE REQUIREMENTS SPECIFICATION VERSION: FINAL 1.0

P3M3 Portfolio Management Self-Assessment

Component Based Development Methods - comparison

Project Management. Project Analysis and Definition. Project Management. Project Management People

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

UML TUTORIALS THE USE CASE MODEL

Karunya University Dept. of Information Technology

Certification Authorities Software Team (CAST) Position Paper CAST-13

The Role of the Software Architect

Software Architecture Action Guide. Why do we care about Software Architecture?

Basic Unified Process: A Process for Small and Agile Projects

Medical Device Software Standards for Safety and Regulatory Compliance

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

Control Matters. Computer Auditing. (Relevant to ATE Paper 8 Auditing) David Chow, FCCA, FCPA, CPA (Practising)

Software Requirements

Applying 4+1 View Architecture with UML 2. White Paper

Designing Real-Time and Embedded Systems with the COMET/UML method

Meta-Model specification V2 D

Transcription:

IF2261 Software Engineering Engineering Program Studi Teknik Informatika STEI ITB Overview Before software can be engineered: the system it is part of must be understood, the overall objective of the system must be determined, the role of the system elements (hardware, software, people, data, etc.) must be identified, and the operational requirements must be created. Don't take a "software-centric" view of the system; consider all system elements before focusing on software. Good system engineering begins with a clear understanding of the "world view" and progressively narrows until technical detail is understood. Complex systems are actually a hierarchy of macro-elements that are themselves systems. Page 1 Page 2 Definition Webster s Dictionary A set or arrangement of things so related as to form a unity or organic whole A set of facts, principles, rules, etc., classified and arranged in an orderly form so as to show a logical plan linking the various parts A method or plan of classification or arrangement An established way of doing something; method; procedure.... Computer-Based s [PRE2005] A set or arrangement of elements that are organized to accomplish some predefined goal by processing information The goal: To support some business function or to develop a product that can be sold to generate business revenue To accomplish the goal, a computer-based system makes use of a variety of system elements Page 3 Page 4 Computer-Based Elements Software Hardware People Database Documentation Procedures Engineering Hierarchy World view WV = {D 1, D 2, D 3,, D n } Composed of a set of domains (D i ) which can be each be a system or system of systems Domain view DV = {E 1, E 2, E 3,, E m } Composed of specific elements (E j ) each of which serves some role in accomplishing the objective and goals fo the domain or component Element view EV = {C 1, C 2, C 3,, C k } Each element is implemented by specifying the technical component (C k ) that achieve the necessary function for an element Detail view Page 5 Page 6

Engineering Hierarchy domain of interest system element Business or product domain World View Domain View Element View Detail View Modeling The engineer creates models that: Define the processes that serve the needs of the view under consideration Represent the process behavior and the assumptions on which the behavior is modeled Explicitly define the exogenous (links between constituents) and endogenous (links between constituent components) input to the model Represent all linkages (including outputs) required to understand the view Page 7 Page 8 Model Restraining Factors Assumptions reduces the number of possible variations Simplifications enable the model to be created in a timely manner Limitations help to bound the system Constraints guide the manner in which the model is created and implemented Preferences indicate the preferred architecture for all data, functions, and technology Page 9 s Modeling Process Hartley-Pirbhai Modeling Context Diagram (SCD) top level node in system hierarchy used to establish the boundary between the system being implemented (system model template serves as its basis) Flow Diagram (SFD) refinement of the process and control functions from SCD, derived by identifying the major subsystems and lines of information flow Initial SFD is becomes the top level node of a hierarchy of more successively more detailed SFD's Specification developed by writing narrative description for each subsystem and definitions for all data that flow between subsystems Page 10 Model Template Hartley-Pirbhai Modeling User interface Input Process and control functions Output Maintenance and self test User Interface Processing The Template Process and control function Input Processing Maintenance and self test Output Processing Page 11 Page 12

SFD for CLSS Modeling with UML Bar code reader Conveyor line Sorting station operator Conveyor Line Sorting Sorting station operator Sorting mechanism mainframe Deployment diagram depicts hardware elements that are part of the physical architecture of the system Activity diagram used to represent the procedural aspects of the system software elements, similar to a flowchart in that system functions are shown as nodes, decision points are shown as diamonds, and arrows are used to show flow through the system Class diagram shows the class attributes and operations that may be applied to the class within the context of the system Use-case diagram illustrates the manner in which an actor interacts with the system, each labeled oval within a system boundary represents one text scenario or use-case Page 13 Page 14 Goal Business Process Engineering to define architectures that will enable a business to use information effectively Architectures Data architecture provides framework for information needs of a business or business function Applications architecture those system elements that transform objects within the data architecture for some business purpose Technology infrastructure provides foundation for the data and application architectures Page 15 Page 16 Business Process Engineering (2) The Business Process Engineering Hierarchy Hirarchy Information Strategy Planning (world view) Business Area Analysis (domain view) Business Design (element view - software engineers) Construction and Integration (detailed view - software engineers) business area Processing requirement IS The Enterprise A business area Information strategy planning (World View) Business area analysis (Domain View) Business system design (Element View) Construction & Integration (Detail View) Page 17 Page 18

Product Engineering The Product Engineering Hierarchy Goal to translate the customer s desire for a set of defined capabilities into a working product Hirarchy Requirements engineering (world view) Component engineering (domain view) Analysis and Design modeling (element view - software engineers) Construction and Integration (detailed view - software engineers) capabilities processing requirement program component Hardware The Complete Product Software Data Function Behaviour Requirement Engineering (World View) Component Engineering (Domain View) Analysis and Design modeling (Element View) Construction & Integration (Detail View) Page 19 Page 20 s engineering Specifying, designing, implementing, validating, deploying and maintaining socio-technical systems. s that include technical systems but also operational processes and people who use and interact with the technical system. Socio-technical systems are governed by organisational policies and rules. Concerned with the services provided by the system, constraints on its construction and operation and the ways in which it is used. The s Engineering Process Requirements definition design Sub-system development integration installation evolution decommissioning Page 21 Page 22 Requirements Definition Three types of requirement defined at this stage Abstract functional requirements. functions are defined in an abstract way; properties. Non-functional requirements for the system in general are defined; Undesirable characteristics. Unacceptable system behaviour is specified. Should also define overall organisational objectives for the system. Requirements Problems Complex systems are usually developed to address wicked problems Problems that are not fully understood; Changing as the system is being specified. Must anticipate hardware/communications developments over the lifetime of the system. Hard to define non-functional requirements (particularly) without knowing the component structure of the system. Page 23 Page 24

The Design Process Partition requirements Organise requirements into related groups. Identify sub-systems Identify a set of sub-systems which collectively can meet the system requirements. Assign requirements to sub-systems Causes particular problems when COTS are integrated. Specify sub-system functionality. Define sub-system interfaces Critical activity for parallel sub-system development. Design Problems Requirements partitioning to hardware, software and human components may involve a lot of negotiation. Difficult design problems are often assumed to be readily solved using software. Hardware platforms may be inappropriate for software requirements so software must compensate for this. Page 25 Page 26 Requirements and Design Sub- Development Requirements engineering and system design are inextricably linked. Constraints posed by the system s environment and other systems limit design choices so the actual design to be used may be a requirement. Initial design may be necessary to structure the requirements. As you do design, you learn more about the requirements. Typically parallel projects developing the hardware, software and communications. May involve some COTS (Commercial Off-the-Shelf) systems procurement. Lack of communication across implementation teams Bureaucratic and slow mechanism for proposing system changes means that the development schedule may be extended because of the need for rework. Page 27 Page 28 Integration Installation The process of putting hardware, software and people together to make a system. Should be tackled incrementally so that sub-systems are integrated one at a time. Interface problems between sub-systems are usually found at this stage. May be problems with uncoordinated deliveries of system components. After completion, the system has to be installed in the customer s environment Environmental assumptions may be incorrect; May be human resistance to the introduction of a new system; may have to coexist with alternative systems for some time; May be physical installation problems (e.g. cabling problems); Operator training has to be identified. Page 29 Page 30

Evolution Large systems have a long lifetime. They must evolve to meet changing requirements. Evolution is inherently costly Changes must be analysed from a technical and business perspective; Sub-systems interact so unanticipated problems can arise; There is rarely a rationale for original design decisions; structure is corrupted as changes are made to it. Existing systems which must be maintained are sometimes called legacy systems. Decommissioning Taking the system out of service after its useful lifetime. May require removal of materials (e.g. dangerous chemicals) which pollute the environment Should be planned for in the system design by encapsulation. May require data to be restructured and converted to be used in some other system. Page 31 Page 32 Page 33