Class will start momentarily.

advertisement
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
System Engineering
Overview of System Engineering
Chapter 6
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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.
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
System Engineering Hierarchy
Set of
domains
Business or
Product Domain
World view (Broad details)
Domain of interest
Elements of
a domain
System element
Domain view
Components
of an element
Element view
Component
details
Detailed view (Technical details)
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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…
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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.
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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).
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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.
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
Product Engineering - 2
The complete
product
Figure 6.3, page 131
System analysis
(World view)
capabilities
hardware
Component
engineering
(Domain view)
software
Processing requirement
data
function
behavior
Analysis & Design
Modeling
(Element view)
program
component
Construction
&
Integration
(Detailed view)
Software
Engineering
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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.
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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.
CS 8532: Adv. Software Eng. – Spring 2009
Dr. 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!
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
Last Slide
End of chapter 6
Download