15
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily. Please Stand By …

CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

Embed Size (px)

Citation preview

Page 1: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Chapter 6

CS 8532: Advanced Software Engineering

Dr. Hisham Haddad

Class will

start momentarily.

Please Stand By …

Page 2: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

System Engineering

Overview of System Engineering Chapter 6

Page 3: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

What is System Engineering? - 1

It is the big Picture!

The process of understanding and defining the various elements required to build a fully functional system (product, technology, service) and role of each element in the system.

Systems engineering process depends on the applications domain.

- Business process engineering - Product engineering

Page 4: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

What is System Engineering? - 2

One type of systems is Computer-Based systems, which consist of elements that work together to support a business function or to develop a product/technology.

A computer-based system elements may include Hardware, Software, People, Procedures, Documentation, and Databases.

In large complex systems, elements can be complete systems with each subsystem has its own set of elements.

Page 5: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

System Engineering Hierarchy

World view (Broad details)Business or

Product Domain

Domain of interest

Domain viewSystem element

Element view

Detailed view (Technical details)

Set of domains

Elements ofa domain

Componentsof an element

Component details

Page 6: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Example

Product: Develop a new passenger car

World View: Automobile manufacturing Focus on passenger cars segment of the domain

Domain View: People, HW, SW, Data, etc…

Element View: Assembly line HW, Parts, etc…

Detailed View: Factory building, Belts, Robot Arms, Controls, Tools, etc…

Page 7: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

System Modeling and Simulation

The system engineer creates a system model that may focus on any level of the hierarchy (world view to details view).

The model defines the process, its behavior and assumptions, and its relation to other elements of the view and other views.

The model goal and details depend on the intended level (view). Assumptions, limitations, constraints, and references are considered.

Simulation and modeling software tools (CASE tools) make it possible to model reactive systems (e.g., real-time and embedded systems) before being built.

The result: automated, semi-automated, or non-automated solution.

Page 8: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Business Process Engineering (BPE)

Process of building “Information Systems” to help businesses utilize information effectively. It uses an integrated set of procedures, methods, and tools to identify how information systems can best meet the strategic goals of an enterprise.

Essential Elements: - Data Architecture: define all data objects (product, customer, supplier, etc…) and their relationships. - Application Architecture: programs (or people) that process/transform data objects to achieve business goals. - Infrastructure: technologies need for data and application architectures (computers, networks, storage, tools).

Page 9: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

The BPE Hierarchy

• Information Strategy Planning (world view) - define strategic goals, success factors, business rules - create enterprise model

• Business Area Analysis (domain view) - modeling of processes and services - defining data objects, their relationships, and data flow

• Business System Design (element view) - modeling requirements of the Information System - translate requirements to data, applications, and infrastructure (technology)

• Construction and Integration (detailed view) - Building software application/databases, training, etc.

See figure 6.2, page 130.

Page 10: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Product Engineering - 1

Translating requirements to a working product.

• Requirements Engineering (world view) - Data gathering from the customer (intense process) - Requirements analysis (check-list) and specifications - Requirements validation (check list) - Requirements management (similar to SCM activities)

• Component Engineering (domain view) - Engineering of HW, SW, human interactions, and databases

• Analysis and Design (element view) - modeling data, functions, and behavior

• Construction and Integration (detailed view) - coding, testing, and deployment

Page 11: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Product Engineering - 2

System analysis(World view)

The completeproduct

capabilities

Componentengineering

(Domain view)

Processing requirement

Analysis & DesignModeling

(Element view)

Construction&

Integration(Detailed view)

software

function

SoftwareEngineering

programcomponent

hardware

data behavior

Figure 6.3, page 131

Page 12: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

System Modeling

• System modeling is building a representation of requirements that can be assessed for correctness, completeness, and consistency.

• System modeling can done at different level.

• Modeling templates may be used to build system context diagram to illustrates system interaction with other elements (users, I/O devices).

• UML modeling of OO approach can also be used to model a system in terms of classes and their interactions.

See CLSS modeling example, figures 6.6 to 6.9, page 136.

Page 13: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Key Point

System engineering begins with “world view” of business domain or product.

Analysis is conducted to define business/product requirements (elements).

At the “domain view”, each element of the system is analyzed and assigned to an engineering component.

Each engineering component is addressed by appropriate engineering discipline.

The rest of the course focuses on the SW element of Product Engineering through Software Engineering discipline.

Page 14: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Suggested Problems

Consider working the following problems from the end of chapter 6 (Textbook, page 140) for practice purpose:

6.2, 6.3, 6.4, 6.6 6.7 (here, consider any of the following systems: Student registration system, Banking system, Digital scanner for personal computer, Email system, Internet access provider, and Interactive hotel reservations) 6.8, and 6.11

No submission is required. Think about these problems and work them for yourself!

Page 15: CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 6 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily

CS 8532: Adv. Software Eng. – Spring 2009Dr. Hisham Haddad

Last Slide

End of chapter 6