University of Southern California Center for Systems and Software Engineering NDI & NCS in CSCI 577 Extended from Jesal Bhuta’s presentation for CSCI577a.

Slides:



Advertisements
Similar presentations
Managing Hardware and Software Assets
Advertisements

Lecture 8 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
MIS 2000 Class 20 System Development Process Updated 2014.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
COTS-Based Systems Jesal Bhuta; USC Center for Systems and Software Engineering Presentation for: CSCI 510 Fall 2008.
University of Southern California Center for Systems and Software Engineering Process Decision Frameworks for DoD and e-Services Projects ASRR 2011 Supannika.
Alternate Software Development Methodologies
Moving from Analysis to Design
CS 5150 Software Engineering
University of Southern California Center for Systems and Software Engineering NDI and Services-Based Software Development Process Supannika Koolmanojwong.
CS CS 5150 Software Engineering Lecture 5 by Stephen Purpura Matching Process to Risk.
Costs of Security in a COTS-Based Software System True Program Success TM Costs of Security in a COTS-Based Software System Arlene Minkiewicz, Chief Scientist.
CS 501: Software Engineering
1 IS371 WEEK 8 Last and Final Assignment Application Development Alternatives to Application Development Instructor Online Evaluations.
IS4401 Project Technology Issues. Introduction This seminar covers Databases When to use a Database What Database to use Development Tools Visual Studio.
1 Security Architecture and Analysis Management of System Development and Implementation –The System Development Process –Issues and Risks –Mitigation.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
CBS Development: Guidelines Based on Lessons Learned Betsy Clark Software Metrics Inc. February 7, 2001 Sponsored by the Federal Aviation Administration’s.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
An MSDN Subscription acts as a lifeline for software developers, testers, architects, IT professionals, database engineers, and others. It provides priority.
SDLC Phase 2: Selection Dania Bilal IS 582 Spring 2009.
© Copyright High Performance Concepts, Inc. 12 Criteria for Software Vendor Selection July 14, 2014 prepared by: Brian Savoie Vice President HIGH.
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Chapter 14: Redesigning the Organization with Information Systems Instructor: Kevin Brabazon.
Web Development Process Description
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Competitive Differentiation: Using Technology to Deliver on Staples EASY Brand Promise Scott Floeck, Sr. Vice President, Staples, Inc.
MobeSys Technologies MobeSys – helping you overcome mobile technology challenges.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
University of Southern California Center for Systems and Software Engineering Rapid-Fielding Software-System Development Supannika Koolmanojwong
TEAM’S STRONG/WEAK POINTS David Wiggins – Remote Student 1.
1 Portfolio Management – Agile How to plan like a VP Highsmith, Ch 12 CSSE579 Session 6 Part 2 One company’s software product portfolio.
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
Moving into Design SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren.
University of Southern California Center for Systems and Software Engineering Rapid Fielding Projects in CSCI 577 Supannika Koolmanojwong 09/03/10.
University of Southern California Center for Systems and Software Engineering Rapid Fielding Projects in CSCI 577 Supannika Koolmanojwong Barry Boehm CS.
University of Southern California Center for Systems and Software Engineering Project Artifacts in each process model Supannika Koolmanojwong October 09,
Setting Your Fees Project Cost and Setting Your Fees.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Accounting Information System By Rizwan Waheed M.Com 710.
University of Southern California Center for Systems and Software Engineering Life Cycle Plan (LCP) Barry Boehm CS577a Fall /20/
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
University of Southern California Center for Systems and Software Engineering 3/3/2010© USC-CSSE CSCI577B 2010 Light Weight Sw Engg for Off-the-Books.
Cis339 Chapter 2 The Origins of Software 2.1 Modern Systems Analysis and Design Fifth Edition.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
University of Southern California Center for Systems and Software Engineering Rapid Fielding Projects in CSCI 577 Supannika Koolmanojwong.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Systems Analysis and Design in a Changing World, Fifth Edition
CS 5150 Software Engineering
Software Processes (a)
Rapid Fielding Projects in CSCI 577
577 Process Patterns & Quality Management
OCD Risk Management CS 577a, Fall 2012 ©USC-CSSE.
Comparison between each special case
Rapid software development
Presentation transcript:

University of Southern California Center for Systems and Software Engineering NDI & NCS in CSCI 577 Extended from Jesal Bhuta’s presentation for CSCI577a Fall 2006 Supannika Koolmanojwong 09/09/09

University of Southern California Center for Systems and Software Engineering Outline Non Developmental Item (NDI) –COTS, Open Source Software, Reuse library and Customer-furnished package Net-Centric Services (NCS) –Web services, Web application, Online application CSCI577 & Possible special cases –Process decision tables –Architected Agile, Use NDI, NDI-intensive, NCS Identify Objectives, Constraints and Priorities Explore Alternatives CSSE2

University of Southern California Center for Systems and Software Engineering What is NDI? Non-Developmental Item –an item that is previously developed and available to use. –commercial-off-the-shelf, open source product, reuse library and customer-furnished package. –2 kinds of NDI Application NDI : MS office System NDI: MySQL –Related terms COTS, GOTS, ROTS, Reuse Code, Reuse library, Customer-furnished package CSSE3

University of Southern California Center for Systems and Software Engineering Common NDIs in CSCI577 Application-NDI –MS office, WordPerfect –OCR software –Business Works –Coldfusion, Dreamweaver System-NDI –Language: PHP, C++, Java, –Database: MySQL –Server: Apache –Others: Java Libararies CSSE4

University of Southern California Center for Systems and Software Engineering What is COTS ? (1/2) Commercial-off-the-shelf (COTS) definition by SEI –A product that is Sold, leased or licensed to the general public. Offered by a vendor trying to profit from it. Supported and evolved by the vendor, who retains the intellectual property rights. Available in multiple copies. Used without internal modification by a consumer. Source code may or may not be available. No longer a COTS if the source code is modified CSSE509/09/2009

University of Southern California Center for Systems and Software Engineering What is COTS? (2/2) Can be tailored or extended using –An application programming interface (API). –Tailoring options Graphical interface. Parameter based interface. Programmable interface. Usually periodic releases with feature growth. Commercial NDI products have a new release about every 10 months, and that old releases are supported by the vendor for about 3 releases. Older versions eventually become CSSE609/09/2009

University of Southern California Center for Systems and Software Engineering COTS Advantages and CSSE709/09/2009 Advantages Available now, earlier payback Avoids expensive development & maintenance Predictable license costs & performance Rich in functionality Broadly used, mature technology Frequent upgrades often anticipate organization’s needs Dedicated support organization Hardware/software independence Tracks technology trends Disadvantages Licensing and procurement delays Up front license fees Recurring maintenance fees Reliability often unknown/ inadequate Unnecessary features compromise usability, performance Functionality, efficiency constraints No control over upgrades/maintenance Dependency on vendor Integration not always trivial; incompatibilities among different COTS Synchronizing multiple-vendor upgrades

University of Southern California Center for Systems and Software Engineering Lessons Learned Using NDI (1/6) Problems with vendors –Vendors promise and don’t deliver –Products don’t work as advertised –Don’t assume a quantity discount, negotiate price upfront Need for flexibility in defining requirements –Distinguish between essential and negotiable requirements. Be flexible where you can. –What we did right - spent 14 out of a total of 22 months iterating between requirements, business processes and the marketplace –If you can bend your requirements, NDI is cheaper. Otherwise you’re better off with custom developed. (Not all projects may be CSSE809/09/2009

University of Southern California Center for Systems and Software Engineering Lessons Learned Using NDI (2/6) Importance of operational demos –Spend a lot of time in detailed performance demonstrations with real users. –Up-front time is critical. That’s when you have leverage with vendors. Once you buy their product, they are a lot less willing to help out. Assessment of specific attributes –Projects (COCOTS), in the past have expressed regret that they did not spend more time assessing portability, inter-component compatibility, flexibility (of user interface), and installation CSSE909/09/2009

University of Southern California Center for Systems and Software Engineering Lessons Learned Using NDI (3/6) Life-cycle issues –Supportability of NDI viewed as a major issue for safety-critical systems –Out of service is a critical problem contractor purchased source code and will maintain NDI software –Projects, in past have expressed the view that NDI saved money during development but shifted costs to operational side of the life cycle –On-line software maintenance How do you upgrade systems once they are in place and CSSE1009/09/2009

University of Southern California Center for Systems and Software Engineering Lessons Learned Using NDI (4/6) Life Cycle Issues (Upgrading) –What is an effective strategy for upgrading? Products reach end of life in two years. Freeze and redo the system in 10 years? Incorporate all versions from all vendors whenever they come out? Refresh every 2 years? Refresh a selected set of components every 2 years? –Should have an environment set up so you can load new versions onto the existing configuration and decide whether or not to upgrade. –Look at the entire life cycle realistically - not just CSSE1109/09/2009

University of Southern California Center for Systems and Software Engineering Lessons Learned Using NDI (5/6) NDI integrator experience –Important that they have experience integrating NDI. –Look carefully at their credentials. They will oversell themselves Product maturity –Never use an untried OS –Maturity of the software was very important in NDI selection –If you have a safety-critical system, you don’t want state-of-the-art CSSE1209/09/2009

University of Southern California Center for Systems and Software Engineering Lessons Learned Using NDI (6/6) Training on NDI packages –Significant learning curve Need for technology and market watch to keep up with vendors and technologies Impacts of volatility during development –redo the tailoring with new CSSE1309/09/2009

University of Southern California Center for Systems and Software Engineering NDI Systems Definitions NDI-Intensive Systems –Any system that uses NDI NDI Based Applications –A system for which –At least 30% of the end-user functionality is provided by NDI products and –At least 10% of the project effort is devoted to NDI related activities –The numbers 10% and 30% are approximate behavioral NDI boundaries observed in the USC e-services CSSE1409/09/2009

University of Southern California Center for Systems and Software Engineering Types of NDI-based CSSE15 System with no NDI product System with just a single NDI product % of Capability Requirements Implemented by NDI products 100% 0% 30% NDI Based Applications 09/09/2009

University of Southern California Center for Systems and Software Engineering Why use NDI/NCS? Change in software development practice over the past 20 years Build system with pre-existing software to reduce development and maintenance costs Involve less development time and lower development cost by taking advantage of existing, market proven, vendor supported products. Could develop a better version yourself or outsource but generally incur more expense and take longer to begin to capitalize on its benefits Trade-off Source code is not available to developers Evolution is not under control of developers Incompatibility, high CSSE1609/09/2009

University of Southern California Center for Systems and Software Engineering Trade-Off’s for Tailoring Tailoring effort can vary significantly depending on NDI/NCS package used –Automated tailoring tools E.g. Microsoft Excel macro recorder Extensive tailoring can cause much rework during NDI refresh cycles –Oracle: “Use our Business Processes” Tailoring effort v/s functionality tradeoff –Minimum tailoring effort to obtain maximum possible functionality –Tailoring “easy to redo” during NDI refresh cycles CSSE17

University of Southern California Center for Systems and Software Engineering When is NDI right for you (1/2) When they lie at the intersection of the three determinants of feasibility, and do so demonstrably better than could original code: – technical, –economic, –strategic CSSE18

University of Southern California Center for Systems and Software Engineering When is NDI right for you (2/2) Technical constraint –Ability supply the desired functionality at the required level of reliability Economic constraint –Ability to be incorporated and maintained in the new system within the available budget and schedule Strategic constraint –Ability to meet needs of the system operating environment--including technical, political, and legal considerations--now, and as environment is expected to evolve in the CSSE1909/09/2009

University of Southern California Center for Systems and Software Engineering NDI/NCS is not a “Silver Bullet” However, NDI/NCS is not a “Silver Bullet” –Involving short-term & long-term cost, evolution and associated risks –Requiring different processes w.r.t. new skill, knowledge, and abilities –If not handled well, resulting in difficulties to meet expected economic objectives, even causing tremendous cost and schedule overruns Need for NDI/NCS-Oriented Processes CSSE20

University of Southern California Center for Systems and Software Engineering Selection of NDI/NCS Components Assessment of: Functional Win Conditions capability offered Performance Win Conditions timing & sizing constraints Others cost/training/installation/maintenance/ma rket trend / product CSSE2109/09/2009

University of Southern California Center for Systems and Software Engineering Outline Non Developmental Item (NDI) –COTS, Open Source Software, Reuse library and Customer-furnished package Net-Centric Services (NCS) –Web services, Web application, Online application CSCI577 & Possible special cases –Process decision tables –Architected Agile, Use NDI, NDI-intensive, NCS Identify Objectives, Constraints and Priorities Explore Alternatives CSSE22

University of Southern California Center for Systems and Software Engineering Net-Centric Services (NCS) an online service available to be accessed over the internet Net-Centric Services includes –web service, –web application, –online application, and –software-as-a-service. CSSE23

University of Southern California Center for Systems and Software Engineering Common NCSs in CSCI577 Web services –Google Services, Yahoo Services Content Management System –Drupal, Joomla e-learning system –Moodle, ILIAS, KEWL, Sakai, Dokeos Payment Services –Amazon payment, Paypal, Google Checkout Calendar –Google Calendar, liteCalendar, Vcalendar Others –OpenCollection, Jumpy Forum, Facebook, Google Map CSSE24

University of Southern California Center for Systems and Software Engineering NDI, NCS characteristics CSSE25 CharacteristicsNDINCS Platform IndependentYes / NoYes Required Internet AccessYes / NoYes Common StandardNoYes Option of rejecting next release*YesNo Change / upgrade controlClient /Server’s siteServer’s site End user has the latest versionYes / NoYes Database OwnershipYesYes/No * Will you be able to freeze the version you are using?

University of Southern California Center for Systems and Software Engineering NCS Advantages and Disadvantages Advantages Disadvantages CSSE26

University of Southern California Center for Systems and Software Engineering Issues of NCS Problems with vendors Need for flexibility in defining requirements Importance of operational demos Assessment of specific attributes Life-cycle issues CSSE27

University of Southern California Center for Systems and Software Engineering Outline Non Developmental Item (NDI) –COTS, Open Source Software, Reuse library and Customer-furnished package Net-Centric Services (NCS) –Web services, Web application, Online application CSCI577 & Possible special cases –Process decision tables –Architected Agile, Use NDI, NDI-intensive, NCS Identify Objectives, Constraints and Priorities Explore Alternatives CSSE28

University of Southern California Center for Systems and Software Engineering ICM Key Concepts Evidence/ Risk based decision points –risk or evidence such as early prototyping or explore alternatives enable stakeholders to converge on an appropriate special case development process. Concurrent Engineering –instead of sequentially, concurrently assess opportunities & risks; requirements, possible NDI or services, plans, business cases; and hw, sw and human factors. –synchronized, stabilized, and committed to the next-phase plans. Feasibility Rationale as a First Class Citizen –thoroughly analyze project feasibility –Show evidence in the form of business case analysis, effort/schedule estimation, NDI/Services evaluations, prototyping, architecture, and success critical stakeholders’ satisfaction. Continuous Improvement –Work closely with clients; getting advice from mentors and architecture review boards –constantly get feedback and incrementally develop –Success critical stakeholders incrementally commit to the project’s continuation. CSSE29

University of Southern California Center for Systems and Software Engineering Why special cases? No one-size fits all Need different roles, responsibilities, criteria, work products CSSE30

University of Southern California Center for Systems and Software Engineering ICM Special Cases Special CaseExample 1. Use NDISmall accounting 2. AgileE-services 3. Architected AgileBusiness data processing 4. Formal MethodsSecurity kernel; Safety-critical LSI chip 5. HW with embedded SW componentMulti-sensor control device 6. Indivisible IOCComplete vehicle platform 7. NDI- intensiveSupply chain management 8. Hybrid agile/ plan-driven systemC4ISR system 9. Multi-owner system of systemsNet-centric military operations 10. Family of systemsMedical device product line 11. BrownfieldIncremental legacy phaseout 12a. Net- Centric Services — Community Support Community Services or Special Interest Group 12b. Net-Centric Services —Quick Response Decision Support Response to competitor initiative CSSE31

University of Southern California Center for Systems and Software Engineering NDI/NCS based development: Key Concepts Process happens where the effort happens Don’t start with requirements Avoid premature commitments, but have and use a plan Buy information early to reduce risk and rework Prepare for NDI/NCS change Use Bottom up rather than top down approach CSSE32

University of Southern California Center for Systems and Software Engineering Special Case Decision Driver CSSE33 Importance* Architected Agile Use NDI NDI- Intensive NCS Alternatives More than 30% of features available in NDI/NCS *** Has a single NDI/NCS that satisfies a complete solution *** Very unique/ inflexible business process *** Life Cycle Need control over upgrade / maintenance *** Rapid Deployment; Faster time to market ***** Architecture Critical on compatibility *** Internet Connection Independence ***** Need high level of services / performance ****** Need high security ***** * Access Data anywhere *** *** Resources Schedule constraint *** Lack of Personnel Capability ***** Little to no upfront costs (hardware and software) ***** Not-so-powerful local machines****** Note: Decision importance scale varies from project to project Rating Scale ScaleCriteria Unacceptable / Inappropriate *Marginal **Acceptable / Possible ***Strong / Appropriate

University of Southern California Center for Systems and Software Engineering CSSE34

University of Southern California Center for Systems and Software Engineering NDI/NCS based system development process In OCD Use Architected Agile Process Emphasize on Application NDIs, not System NDIs In FED Use NDI, or Net-Centric Services Process Use NDI-intensive or Net-Centric Services Processes

University of Southern California Center for Systems and Software Engineering NDI/NCS based system development process

University of Southern California Center for Systems and Software Engineering NDI/NCS based system development process

University of Southern California Center for Systems and Software Engineering NDI/NCS based system development process

University of Southern California Center for Systems and Software Engineering

University of Southern California Center for Systems and Software Engineering NDI/NCS based system development process

University of Southern California Center for Systems and Software Engineering Outline Non Developmental Item (NDI) –COTS, Open Source Software, Reuse library and Customer-furnished package Net-Centric Services (NCS) –Web services, Web application, Online application CSCI577 & Possible special cases –Process decision tables –Architected Agile, Use NDI, NDI-intensive, NCS Identify Objectives, Constraints and Priorities Explore Alternatives CSSE41

University of Southern California Center for Systems and Software Engineering Examples of OC&P Objectives –To allow volunteer candidates to submit application online –To provide a channel for donors to donate money to the organization Constraints –The system must be able to run on Linux machine –Maximum budget is $200 CSSE42

University of Southern California Center for Systems and Software Engineering Identify Objectives & Constraints CSSE43 Project NameObjectivesConstraints 1. CSCI Lyrics Website 3. Theater Stage 4. PodCast Website 5. RMIS 6. Growing Great

University of Southern California Center for Systems and Software Engineering Identify Objectives & Constraints CSSE44 Project NameObjectivesConstraints 7. Online Recipe 8. Family Assessment 9. BBA Website 10. SPC Website 11. VALE 12. LANI

University of Southern California Center for Systems and Software Engineering Identify Objectives & Constraints CSSE45 Project NameObjectivesConstraints 13. Freehelplist 14. Early Medieval 15. Blazer News Blast 16. BHCC 17. Client Case 18. Avenue of Ind Website

University of Southern California Center for Systems and Software Engineering Identify Objectives & Constraints CSSE46 Project NameObjectivesConstraints 19. SHIELDS 20. Bible Logos 21. Master Pattern 22. Healthcare the rightway 23. Bartweet 24. Brotherhood Crusade 25. AROHE

University of Southern California Center for Systems and Software Engineering Explore Alternatives CSSE47

University of Southern California Center for Systems and Software Engineering Explore Alternatives CSSE48 Project NamePossible NDI/ NCSFull / Partial ? 1. CSCI Lyrics Website 3. Theater Stage 4. PodCast Website 5. RMIS 6. Growing Great

University of Southern California Center for Systems and Software Engineering Explore Alternatives CSSE49 Project Name Possible NDI/ NCSFull / Partial ? 7. Online Recipe 8. Family Assessment 9. BBA Website 10. SPC Website 11. VALE 12. LANI

University of Southern California Center for Systems and Software Engineering Explore Alternatives CSSE50 Project Name Possible NDI/ NCSFull / Partial ? 13. Freehelplist 14. Early Medieval 15. Blazer News Blast 16. BHCC 17. Client Case 18. Avenue of Indep Website

University of Southern California Center for Systems and Software Engineering Explore Alternatives CSSE51 Project Name Possible NDI/ NCSFull / Partial ? 19. SHIELDS 20. Bible Logos 21. Master Pattern 22. Healthcare the rightway 23. Bartweet 24. Brotherhood Crusade 25. AROHE