CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 6 System Engineering Overview of System Engineering CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. 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 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Last Slide End of chapter 6