CS 8532: Adv. Software Eng. – Spring 2007 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 2007 Dr. Hisham Haddad System Engineering Overview of System Engineering Chapter 6 CS 8532: Adv. Software Eng. – Spring 2007 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 2007 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 above elements. CS 8532: Adv. Software Eng. – Spring 2007 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 2007 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 2007 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 2007 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 2007 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 2007 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 2007 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 2007 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). • A system flow diagram shows detailed data and control flow between all elements on the template. • 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 2007 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 engineering components. 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 2007 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 2007 Dr. Hisham Haddad Last Slide End of chapter 6