Welcome Email: raju.chiluvuri1@gmail.com Cell: +(91)99 89 121 729 http://real-software-components.com http://researchgate.net/profile/Raju_Chiluvuri4 http://pioneer-soft.com
What is Component Based Design? Each product is divided into components Each of the large components is divided into sub-components, and so on For Achieving the CBD-Structure ….
The CBD-Structure Hierarchy of Replaceable/Pluggable Components
The CBD-Structure Hierarchy of Replaceable/Pluggable Components Module-2 can be unplugged as a unit. Unplugging module-2 effectively removes all of its sub-components (e.g. 3, 4 and 5) without leaving any traces
The CBD-Structure Hierarchy of Replaceable/Pluggable Components Any of the components (even a Container Component) Can Be Unplugged as an Unit at any time and/or as many times as needed … to redesign it (or refine it little-by-little) individually free from spaghetti code or design The component may be re-plugged-in as a Unit after testing it individually outside of the product free from spaghetti code or design
Few Facts About Physical Components & CBD of Physical Products No other kind of physical part can achieve the real CBD (i.e. CBD-structure), except a very special & unique kind of physical parts (that are widely known as “ Components ”). It is possible to discover the nature and essential properties uniquely and universally shared by each & every known physical component by using scientific methods If the essential properties are { R , S }, any physical part can be a physical component, if and only if the physical part has the set of essential properties { R , S }. There is no valid reason, why we can’t invent Replaceable Components (i.e. Real Software Components ) having the essential properties {R, S} for achieving real CBD for Software
It is certainly possible to invent Real Software Components having the properties {R, S} Can’t Superman or Cartoon Character walk on the Land? Is it impossible obey laws of physics/nature, even if he wants? Until discovering what is right & what is wrong There are millions of ways for not getting it right (Without even knowing that we are doing it wrong)
It is a trivial Task to invent Real Software Components having the essential properties { R , S }, if the essential properties { R , S } are discovered If one has a freedom to defy laws of nature (or physics) doesn't imply, it is impossible for him to conform to the laws of nature, even if he wants to obey the laws of nature (or physics). Software parts are not constrained by laws of physics, so we have freedom to invent many more kinds of software parts where each kind of software parts having a given set of properties, including inventing very special kind of software parts having the essential properties { R , S }
The Purpose & Scope of the CBSD (Component Based Design for Software) Any best design practice for building a large software application (e.g. a product or system) requires minimizing the custom application code that needs to be implemented for the application by using any and every available tool, technology and/or reusable components (e.g. Libraries or API). Even after minimizing the application code, many software products (or applications) still require implementing several tens of thousands to hundreds of thousands of lines of custom application code. The objective of the CBSD (or CBD for Software) is to implement about 90% of this remaining custom application code in optimal size real-software-components for achieving the CBD-Structure (Hierarchy of Replaceable Components).
The Gist & Objective of this Proposal Each Replaceable Component (or RC) can be redesigned (or refined little-by-little) & tested individually free from spaghetti code/design at any time and as many times as required (e.g. during initial development or for each of the future releases) If 90% of the application code is implemented in such RCs, 90% of the application code is free from spaghetti design and code, since each RC (or Real Software Component) can be redesigned and tested free from spaghetti design/code . Objective of this proposal is to request software researchers to discover the essential properties of physical components by employing proven scientific methods for inventing real- software-components (i.e. RCs), which are capable of achieving real COP/CBD for software products/applications
Observations on the practice of Software Engineering (From: CBSE-2003; Slide#9; M.R.V. Chaudron; University Eindhoven) About 80% of software engineering deals with changing existing software (So does the engineering of components for many of the physical products) It is not the strongest of the species that survive, nor the most intelligent, but the ones most responsive to change -- Charles Darwin Time to market is an important competitive advantage: Add successful innovations fast Systems should be built to facilitate change Easy removal and addition of functionality
Thank You Email: raju.chiluvuri1@gmail.com Cell: +(91)99 89 121 729 http://real-software-components.com http://researchgate.net/profile/Raju_Chiluvuri4 http://pioneer-soft.com
Software Engineering’s Horrific Record According to 1995 studies: US alone spend over $250 billion a year on developing IT applications $81 billion spent on canceled software 31% of projects fail to complete 53% of projects cost 189% over estimates 16% come in on time and within budget - - - - - (9% in large companies/projects!!) Cost of bugs $59.5 billion to end users in 2000 The worldwide lost-opportunity costs are not measurable, but could be in Trillions of dollars
Obvious Facts, Simple Observations & Evidence for the CBD for Physical Products & Nature of the Physical Components Either complexity or uniqueness of one of a kind physical product (e.g. experimental spacecraft or next-generation jet- fighter ) can’t prevent designers from achieving the CBD- structure (i.e. Hierarchy of Replaceable Components) It is not necessary that even a single component in the CBD- structure (i.e. Hierarchy of Replaceable Component) is reusable, standardized or have any other properties erroneously attributed today to so called software components. The properties of software components are defined blindly based on wishful thinking (e.g. to increase reuse or Software- ICs) rather than based on reality or facts. No one ever even tried to investigate evidence & reality of CBD to know facts
Few More Obvious Facts for the CBD Except the design of software products, designers of no other product is effected by spaghetti design/code, including the design of one-of-a-kind physical product such as an experimental spacecraft or production ready working prototype of next-generation jet-fighter or nuclear powered locomotive Since 17 th century, no other scientific or engineering discipline have beliefs (or opinions) at the very core/foundation, in violation of basic logic, scientific rules or even common sense Software researchers wasted about four decades by relying on flawed definitions for components. Is it too much to ask researchers to investigate reality and evidence for few days to discover facts, to prevent wasting few more decades perfecting the geocentric paradox of software engineering?
Necessary BoK (Body of Knowledge) for CBSD (CBD for Software) Is it possible to invent fiber optic networks, if researchers are clueless about the nature and properties of light (e.g. if the researchers blindly define the essential properties of light without any basis in reality and rely on flawed properties of light)? Is it possible to invent ICs (i.e. computer chips), if researchers rely on such flawed properties of electrons? How is it possible to invent cures for infections, if researchers refuse to investigate reality and evidence for discovering nature properties of viruses or bacteria? Likewise, it is essential to investigate the reality and analyze all the evidence for discovering nature and essential properties of the physical components to invent real-software-components that are essential for achieving CBD-structure (or real CBSD).
Scientific Methods for Expanding BoK (Body of Knowledge) Mathematics is incapable of acquiring/gaining many kinds of knowledge such as nature & properties of physical things such as bacteria, physical components or neurons. Mathematics is not the only tool for acquiring knowledge to address problems Scientific methods are widely used and have proven track record for discovering nature and essential properties of physical things such as Bacteria, Viruses, Components for CBD or Neurons for real-AI (Artificial Intelligence). Scientific methods have proven track record for discovering essential properties of not only far more complex physical things (e.g. viruses, bacteria, light, particles such as electrons) but also uniquely and universally shared properties by far more diverse species/beings (e.g. animals, plants or chemicals)
Recommend
More recommend