The Architecture Lecture September 2006 Cem Kaner CSE 1001.

Slides:



Advertisements
Similar presentations
September 8, NASA Transformation Challenges and Opportunities September 8, 2004.
Advertisements

Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Project What is a project A temporary endeavor undertaken to create a unique product, service or result.
AACE Goals Goals as identified by AACE’s Board of Directors for
DoD Software Issues and Gap Identification Kristen Baldwin Deputy Director, Software Engineering and System Assurance OUSD(AT&L) April 18, 2007.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Systems Engineering in a System of Systems Context
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
1 SYS366 Week 1 - Lecture 2 How Businesses Work. 2 Today How Businesses Work What is a System Types of Systems The Role of the Systems Analyst The Programmer/Analyst.
DoD Systems and Software Engineering A Strategy for Enhanced Systems Engineering Kristen Baldwin Acting Director, Systems and Software Engineering Office.
IT Planning.
McGraw-Hill/Irwin Copyright © 2008, The McGraw-Hill Companies, Inc. All rights reserved.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Chapter 2: IS Building Blocks Objectives
Recent Trends in DoD Systems and Software Engineering Processes Bruce Amato Acting Deputy Director, Software Engineering and Systems Assurance Office of.
12 Steps to Useful Software Metrics
Information Technology Audit
Architectural Design.
Whitacre College of Engineering Panel Interdisciplinary Cybersecurity Education Texas Tech University NSF-SFS Workshop on Educational Initiatives in Cybersecurity.
Bina Nusantara 2 C H A P T E R INFORMATION SYSTEM BUILDING BLOCKS.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
CPTE 209 Software Engineering Summary and Review.
INFO415 Approaches to System Development: Part 2
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
CPIS 357 Software Quality & Testing
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Chapter 1 Information Management In A Global Economy.
Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition Irwin/McGraw-Hill.
Lecture 9: Chapter 9 Architectural Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
An Integrated Control Framework & Control Objectives for Information Technology – An IT Governance Framework COSO and COBIT 4.0.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Chapter 13 Architectural Design
Radar Open Systems Architectures
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Chapter 1. Introduction.
National Science Foundation Directorate for Computer & Information Science & Engineering (CISE) Trustworthy Computing and Transition to Practice Secure.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition Irwin/McGraw-Hill.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 2 Information System Building Blocks.
CSC480 Software Engineering Lecture 10 September 25, 2002.
BTS330: Business Requirements Analysis using OO Lecture 6: Systems.
1 Accounting systems design & evaluation Karen Lau 25 Feb 2002.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Contract Year 1 Review IMT Tilt Thompkins MOS - NCSA 15 May 2002.
 An Information System (IS) is a collection of interrelated components that collect, process, store, and provide as output the information needed to.
Chapter 9 The People in Information Systems. Learning Objectives Upon successful completion of this chapter, you will be able to: Describe each of the.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
BEA Orientation November 13, 2007
This Lecture Covers Roles of –Management –IT Personnel –Users –Internal Auditors –External Auditors.
MnSCU Audit Committee September 18, 2002 Discussion on the Role of the Audit Committee MnSCU Audit Committee September 18, 2002.
Paramjit Sharma building a balanced scorecard. Paramjit Sharma Imagine an excellent scorecard built by a staff executive or middle management without.
JAEC Assessment Initiatives and Implications Julia Loughran ThoughtLink, Inc Presented to: NDIA’s Training Transformation.
Expedition Workshop Strategic Leadership For Networking and Information Technology Education September 16, 2008 Chris Greer Director, NCO.
STRATEGY IMPLEMENTATION Chapter 7. FUNCTIONAL STRATEGIES These are made up of day to day decisions made at the operating level of the firm, often performed.
1 Acquisition Automation – Challenges and Pitfalls Breakout Session # E11 Name: Jim Hargrove and Allen Edgar Date: Tuesday, July 31, 2012 Time: 2:30 pm-3:45.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Fix it or Forget it? Dealing with Troubled Projects
Financial Management Modernization Program
Perspectives on Transforming DT and OT Industry-Government Roundtable
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

The Architecture Lecture September 2006 Cem Kaner CSE 1001

NDIA Top 5 Software Issues Workshop Address Kristen Baldwin Software Engineering & Systems Assurance Directorate Office of the Deputy Under Secretary of Defense Acquisition and Technology August 24, 2006 VERSION 1.0

SYSTEMS AND SOFTWARE ENGINEERING DIRECTORATE, USD(A&T) Need for DoD focus on Software Engineering Increasing rate of software overruns –1994: 16.2% of SW projects completed on-time, on-budget 1 – : schedule overruns up 21%, cost overruns up 11% 2 –2005: 50% of SW projects still late, over budget 2 National concern –PITAC identifies SW as “major vulnerability” 3 –Cyber security attacks rising 20+% per year 3 –2 of 10 priority areas: “Secure Software Engineering and Software Assurance” and “Metrics, Benchmarks, and Best Practices” 3 DoD software performance –Emerging results from SW Industrial Base study: virtually every ACAT ID program in last 5 yrs has had SW problem resulting in delay, test failure, or added cost 4 AT&L program support review findings –2 ½ yrs of reviews demonstrated systemic SW problems across programs, linked to SE execution Lack of full and adequate SE planning and execution Lack of clearly defined roles and responsibilities Policy decisions having major impact on SW development Testing issues Defense software investment –DARPA CS R&D funding to universities down 50% ( ) 5 –DoD SEI core funding relatively level for past decade 5 –In contrast, total federal government support to universities up 50% 5 1 Copyright © 1995 The Standish Group International, Inc. All Rights Reserved 2 Copyright © 2005 The Standish Group International, Inc. All Rights Reserved 3 President’s Information Technology Advisory Committee Report to the President, February 2005, “Cyber Security: A Crisis of Prioritization” 4 Pierre Chao, Senior Fellow and Director of Defense-Industrial Initiatives, Center for Strategic and International Studies 5 National Science Foundation WebCASPAR database

SYSTEMS AND SOFTWARE ENGINEERING DIRECTORATE, USD(A&T) Lack of Integrated requirement, design, analysis, coding and verification development environment. Lack of tools to detect design, coding and requirement deficiencies early for object oriented design using full embedded system simulation with H-I-L. Lack of tools to capture and estimate software development costs. Lack of qualified automated code generators for design tools. Testing environments in general do not accurately capture the characteristics of the product (engine system, aircraft system). What does industry (integrators) view as the current problems in SW development?* *From 2006 DDR&E SW Producibility Workshop

Defining Programming ● A program is a set of instructions for a computer -- or -- ● A program is a communication about a problem and a proposed solution, among many stakeholders distributed in space and time, that includes instructions for a computer.

Structure of a computer program The program receives inputs, processes them and yields outputs InputOutput

Structure of a computer program The program receives inputs, processes them and yields outputs Monolithic program: One big method -- main() – does everything. InputOutput

The program receives inputs, processes them and yields outputs It uses subroutines (methods) to divide the task into manageable pieces Problems got too complex for monolithic programs, so we tried various flavors of modular, structured programming InputOutput Main Sub

Look at the inputs and outputs Interface with humans Interface with devices Interface with other systems Input & output Processing

Interfacing with the world is complex Interface with humans I / O Processing UI devices I / O Interface with system devices I / O Interface with other systems I / O Communication devices I / O

Interfacing with the world is complex Processing Rules / models for dealing with humans Rules / models for dealing with each type of external system Rules / models for dealing with each type of device

Complexity ● There are many types of humans, with different roles / needs / expectations and so different interface rules / models will be appropriate under different circumstances: – Example, the information about a financial database you might present to a tax auditor might be different from the information you present to the data entry clerk or the executive who is doing business planning based on the data. (Who should see negotiating notes, for example?) ● Input can come from one entity (e.g. one person, or through one system) but be delivered on behalf of some other entity. ● The rules for one external system (e.g. Visa credit card payments) might be different for the rules for another external system (American Express credit card payments) even if the basic transaction is intended to be the same.

Interfacing with the world is complex Processing Rules / models for dealing with humans Rules / models for dealing with each type of external system Rules / models for dealing with each type of device One of the advantages of object-oriented development is that we create models of things (objects) that include specifications of what we can do with those things (methods) and how to do them. We can define analogous methods for many different types of objects, making it easier to extend a program to new stakeholders, devices or systems.

Interfacing with the world is complex Interface with humans I / O Processing UI devices I / O Interface with system devices I / O Interface with other systems I / O Communication devices I / O Interface with test system that can supply any inputs and accept any outputs that would otherwise be targeted to some other subsystem I / O