Software Development Plans
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Software Development Plans

on

  • 1,329 views

Software Development Plans

Software Development Plans

What are they good for?

Statistics

Views

Total Views
1,329
Views on SlideShare
1,329
Embed Views
0

Actions

Likes
1
Downloads
27
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Software Development Plans Document Transcript

  • 1. Software Development Plans Just What Are They Good For? BY: AHMED S. ALQAHTANI SESO – SU12 1
  • 2. Table of Contents1 Abstract ................................................................................................................................... 42 Introduction ............................................................................................................................. 43 Software Development plan WBD ......................................................................................... 54 Software Development models ............................................................................................... 6 4.1 Software Life Cycle Process ........................................................................................... 6 4.2 Basic Development Model .............................................................................................. 7 4.3 Waterfall Software Development [28] .............................................................................. 7 4.3.1 Software requirement analysis .................................................................................... 8 4.3.2 Preliminary Design Phase ........................................................................................... 8 4.3.3 Detailed Design Phase ................................................................................................ 8 4.3.4 Coding & CSU Test Phase .......................................................................................... 8 4.3.5 CSC Integration & Testing Phase ............................................................................... 8 4.3.6 CSCI Testing phase..................................................................................................... 8 4.4 Incremental Builds .......................................................................................................... 9 4.5 Evolutionary Spiral Development................................................................................... 95 Process improvement models ............................................................................................... 10 5.1 Software Capability Maturity Model ............................................................................ 10 5.2 Capability Maturity Model Integration ......................................................................... 11 5.3 ISO 9000 ....................................................................................................................... 12 5.4 ISO/IEC 15504.............................................................................................................. 126 Reusable Software product ................................................................................................... 12 6.1 SDP software reuse ....................................................................................................... 13 6.1.1 Vertical reuse ............................................................................................................ 13 6.1.2 Horizontal reuse ........................................................................................................ 13 6.2 DoD integration software reuse into development and maintenance process .............. 13 6.3 Up-Front investments.................................................................................................... 13 6.4 Some of common Mistake establishing Reuse program ............................................... 13 6.5 Pros and Cons for Software reuse ................................................................................. 147 Software Estimating Techniques .......................................................................................... 14 7.1 Analogy estimation ....................................................................................................... 14 7.2 Top-Down estimation ................................................................................................... 14 7.3 Bottom-Up estimation ................................................................................................... 15 7.4 Constructive Cost Model (COCOMO) ......................................................................... 158 Human–computer interaction (HCI) ..................................................................................... 16 8.1 Input device ................................................................................................................... 16 8.2 Output device ................................................................................................................ 16 8.3 Graphical User interface ............................................................................................... 16 8.4 Usability ........................................................................................................................ 17 8.5 Dialog style ................................................................................................................... 179 Operating Systems, Databases & Software Tools [17] [7] ....................................................... 17 9.1 Operating systems (OS’s) ............................................................................................. 17 9.1.1 Multitasking .............................................................................................................. 17 9.1.2 Multi-user’s ............................................................................................................... 17 2
  • 3. 9.1.3 Computer Hardware .................................................................................................. 17 9.1.4 Time sharing ............................................................................................................. 17 9.1.5 Operating System components ................................................................................. 18 9.1.5.1 Process Management ........................................................................................ 18 9.1.5.2 Memory Management ....................................................................................... 18 9.1.5.3 I/O Device Management ................................................................................... 18 9.1.5.4 File Management .............................................................................................. 18 9.1.5.5 System Protection / Security ............................................................................. 19 9.1.5.6 Databases .......................................................................................................... 19 9.1.6 Graphical User Interface (GUI) ................................................................................ 2010 Software Requirement analysis and design methods ............................................................ 20 10.1 Computer Aided Software Engineering (CASE) .......................................................... 20 10.1.1 Computer-Aided designs (CAD) .......................................................................... 21 10.1.2 Computer-Aided Manufactures (CAM) ................................................................ 21 10.2 Rationale Unified Process ............................................................................................. 22 10.2.1 Rational developer for System .............................................................................. 2211 Software languages ............................................................................................................... 22 11.1 COmmon Business-Oriented Language ....................................................................... 22 11.2 Ada / SQL ..................................................................................................................... 2212 Software Development with Object- Oriented technique ..................................................... 22 12.1.1 Class ...................................................................................................................... 23 12.1.2 Inheritance............................................................................................................. 23 12.1.3 Single Inheritance ................................................................................................. 23 12.1.4 Multiple inheritances ............................................................................................ 24Conclusion ................................................................................................................................... 24List of Acronyms ........................................................................................................................... 25References ..................................................................................................................................... 26 Table of FiguresFIGURE 1: INTERNATIONAL STANDARD SOFTWARE LIFECYCLE PROCESS .............. 6FIGURE 2: WATERFALL SOFTWARE DEVELOPMENT ........................................................ 7FIGURE 3: INCREMENT MODEL .............................................................................................. 9FIGURE 4: EVOLUTIONARY SPIRAL MODEL ....................................................................... 9FIGURE 5: SOFTWARE ENGINEERING DEVELOPMENT ................................................... 21FIGURE 6: OO LIFE CYCLE ...................................................................................................... 23FIGURE 7: OBJECT ORIENTED CLASS .................................................................................. 24 3
  • 4. List of TablesTABLE 1: SOFTWARE DEVELOPMENT PLAN WBS ............................................................. 5TABLE 2: BASIC DEVELOPMENT MODEL ............................................................................. 7TABLE 3: KEY PROCESS AREA FOR SW-CMM ................................................................... 11TABLE 4: CMMI-DVE LEVELS ................................................................................................ 12TABLE 5: PROS AND CONS SOFTWARE RE-USE................................................................ 14TABLE 6: TOP-DOWN ESTIMATION METHOD EXAMPLE ................................................ 15TABLE 7: STRENGTHS AND WEAKNESSES OF SOFTWARE COST-ESTIMATION METHODS[25] ....................................................................................................................... 16TABLE 8: COMMON EXTENSIONS FILE [27].......................................................................... 19TABLE 9: FUNCTIONAL TOOL CLASSIFICATION [31] ........................................................ 211 AbstractSoftware development plan controls the progress in achieving the software product, SDP mayalso help to make better use of the software components and integrate with all the stages insoftware development life cycle. SPD estimation cost, schedule and model are used to have thebest use of the software that we intend to accomplish. Although SDP shows the development ofoperating systems, Databases, and software tools. Software requirements to developing softwaresystem and software languages are developed. Developing process models to improve processand products, SDP will help software developer to have methods, Techniques, Software tools,cost estimation techniques and languages to implements and software developments. [6][21][23].2 IntroductionThe software development plan will recover software development process, softwaredevelopment life-Cycle and general plan for software development. This paper discusses the various types of Software development processes, softwaredevelopment Life-Cycles and software development methods. There are several models for suchprocesses, each describing approaches to variety of tasks or activities that take place during theacquisition and configuration of the services of the system process. SDLC shall represent thephases that software project goes through to define and design the software requirements,perform changes, test program changes to ensure that are accurate and install changes into therunning system. Software Development Plan (SDP) describes developer’s plan for softwaredevelopment efforts. The term system development life cycle (SDLC) includes processing,altering information system, models, methodologies and people involved to develop thesesystems. System development phases shall established unambiguous, understanding betweensystem analysts and software analysts / designer of the software requirements. SDP although 4
  • 5. producing high level software designed to meet function and performance requirements. Theterm unit test, configuration items test, and integration test components will be verified in thedevelopment models. [6] [31]3 Software Development plan WBDThe Work Break Down structure (WBS) may provide framework in terms of hierarchicallyrelated with product-oriented elements which in assessing technical accomplishment, measuringcost and schedule performance. Table 1: Software Development Plan WBSWBS utilized elements and software components in Software development plan into detail andrefers software developer to defined cost estimation techniques for each element and componentsof developing the software. [4] 5
  • 6. 4 Software Development life cycle modelsSDLC describes how and when the software development activities (phases) are to be executedinto phases, I will discuss the international standard software life cycle, the difference usedbetween the common software life cycle. [23]4.1 Software Life Cycle ProcessInternational standards established a common framework for software life cycle process withwell-defined terminology. This international standard also provides process for defining,controlling and improving software life cycle processes.IEEE/EIA 12207.0-1996 may perform during life cycle of software five primary processes, eightsupporting process and four organization processes. Figure 1: International Standard software Lifecycle process IEEE/EIA 12207.0-1996 6
  • 7. 4.2 Basic Development ModelSelecting software development under ISO/IEC 12207 depicting software development modelsundergo what /how developing model goes into phases. The project may use more than onemodel. [22]Basic Model All Rqmts Multiple Use Interim Remarks Defined Builds? Products? First?Waterfall Yes No No Build N = Build 1Incremental Yes Yes Maybe Build N = Build (N-1) + More CapabilitiesEvolutionary No Yes Yes Build N = Build (N-1) + Refined Specs.Table 2: Basic Development Model4.3 Waterfall Software Development The waterfall model is the fundamental basis of most SDP and services for describing the typical software processes and phases. [21] Software Requirements Analysis Preliminary Design SRS Software Requirements Specification. IRS Interface Details Design Requirements IDD Interfaces Designed Specification. Document SSR Software SDD Software Design Specification Document Review STP Software Test Plan STD Software Test Coding And CSU Testing Description CSC Integration and SDF Software Development Testing file CSCI TestingSPS Software Product Specification Figure 2: Waterfall Software Development 7
  • 8. 4.3.1 Software requirement analysis Software requirement analysis phase will define software engineering requirements, interfaces requirements into Computer Software configuration item (CSCI) and documented (SER’s) into Software Requirement Specification (SRS), although documented Interfaces Requirements into Interface Requirements Specification (IRS), and documented Software Specification review.4.3.2 Preliminary Design Phase Developing Preliminary design for each CSCI’s, requirements are allocated through SRS, IRS to Computer software Component into CSCI’s. And documented allocations into Software Designed Documents (SDD), interface external to Interface Designed Document (IDD), and documented Software Test Plan (STP) acceptance tested.4.3.3 Detailed Design Phase Detailed design is developed for each CSCI’s, through allocating CSCs into Computer Software Units (CSU) for each CSCI’s. Although prepare Software test description (STD) for each CSCI’s for acceptance test.4.3.4 Coding & CSU Test Phase Coding and unit testing phase shall be individual components tested to ensure it’s recorded into Software Development file (SDF), and satisfy CSU specified requirement. [21]4.3.5 CSC Integration & Testing Phase Integration tests are updated SDF’s for each CSUs, CSCs, and CSCIs, qualification testing to produce update source code for each CSCI’s.4.3.6 CSCI Testing phase Retesting for CSC integration & tested phase. 8
  • 9. 4.4 Incremental Builds The Waterfall model evolution into increment model, increment model may be applicable when the software functions require early and software requirement realization may be delayed. [5] Figure 3: Increment model4.5 Evolutionary Spiral Development The increment model evolutionary into spiral model, spiral model may be applicable in case of project requirement very difficult and Technology already used. [5] Figure 4: Evolutionary Spiral Model 9
  • 10. 5 Process improvement modelsSDP will process into models improving processes, software activities project into SW-CMMmaturity levels with Key process area framework in the project, and CMMI integration multipleframeworks processes.In 1990s, Software Capability Maturity Model (SW-CMM) considered as a measuring softwareprocess maturity and it has been developed by Software Engineering Institutes into systemsengineering process and the acquisition life cycle.5.1 Software Capability Maturity ModelThe SW- CMM framework was started in 1986; The SW- CMM categorized overall companymaturity into five levels of maturity. For the purpose of SW-CMM “Software process can bedefined as a set of activities, methods, practices, and transformation that people use to developand maintain software and associated products. Each the level 1 to 5 is based on achieving theattributes of the previous low levels.The Software Capability Maturity Model (SW-CMM) is the most common reference model usedin these evaluations. [17] 10
  • 11. Table 3: Key Process area for SW-CMM5.2 Capability Maturity Model IntegrationCMMI refers to suite integration frameworks called constellation, each constellation uses a set ofcommon process areas plus additional process for specific domain, CMMI may process modelused in multiple domain. Multidisciplinary environment e.g. Federal Aviation Administration(FAA) in 1998 industry / government effort led to creation of SW-CMM integration (CMMI) forSystem Engineering, Software Engineering integration.CMMI may help organization in process improvement and guided to achieve their goal inperformance, CMMI-DVE developing both product of software development and services. 11
  • 12. SDP process improvement may divide in CMMI- DVE into two levels, shows below in Table3:Level Continuous representation Staged representation Capability levels Maturity levelsLevel0 IncompleteLevel1 Performed InitialLevel2 Managed ManageLevel3 Defined DefinedLevel4 Quantitatively manageLevel5 Optimizing Table 4: CMMI-DVE levels [31]5.3 ISO 9000ISO 9000 may Describes standard to organized process to manufacture product and the methodof managing and monitoring progress, ISO 9000 standard have been applied in softwaredevelopment such as CMMI.5.4 ISO/IEC 15504ISO/IEC 15504 may processes assessment as Software Process Improvement CapabilityDetermination (SPICE), frameworks for software process assessment. This Models process tomanage, control, guide and monitor software development.6 Reusable Software product Software reuse may occur in single system, multiple similar systems and widely differing systems, to increase productivity and improving quality, decrease cost and schedule. Software reuse becomes a significant technology for SDP to deliver software application in faster and lower cost. What Is Reuse & What Should Be Reused?  Ad hoc practice is employed in Software development plan, software engineering, first used in industrial software reusable components.  Re-engineering legacy system into new form. 12
  • 13. What Are The Key Technical & Non-Technical Issues?  Capabilities, Standard, COSTs for technical issues.  Systemic approach, domain knowledge.6.1 SDP software reuseSDP in software reuse with two basic types delivered in first vertical reuse into new versionlegacy system with same domain and system, and second type delivered existence legacy systemto other domain or system. [12]6.1.1 Vertical reuseThe basic idea is to reuse domain engineering; domain engineering is “a comprehensive,iterative, life-cycle process that an organization uses to pursue strategic business objectives. Itincreases the productivity of application engineering projects through the standardization of aproduct family and an associated production process." [14]6.1.2 Horizontal reuseHorizontal reuse refers software component reuse across a wide verity of application, such asGraphical user interface and Commercial off-the-shelf (COTS).6.2 DoD integration software reuse into development and maintenance process DoD evidence software reuse principle when integrated into acquisition practice and software engineering process. [13]  Software reuse must integrate into life cycle process to SDLC utilization.  Software reuse systemically examination alternative concepts during the acquisition life cycle.6.3 Up-Front investmentsUp-Front investment is a measure for successful software reuse, such as cost/schedule,productivity, quality, reliability.6.4 Some of the common Mistakes in establishing Reuse program  Inadequate configuration management, search, brows, lookup, and control. 13
  • 14. 6.5 Pros and Cons for Software reuse. [16] Pros of software reuse Cons of Software reuseEfficiency: reduced time designing or coding Mismatch: Reuse requirement and design mayStandardization: reuse of UI widgets in MAC not match, and Non-functional characteristics.OS and Win 32 lead common applications e.g.Debugging: testing design and code Expense: some components are too expensive.Profit: lead market of component softwaree.g. ActiveX components, HyperCard stacks, e.g. licenses for HTML and XMLJava packages and software tools.Table 5: Pros and Cons Software Re-use7 Software Estimating Techniques Software estimation will be all efforts involved in human thought process to line up correct sequences and into machine.7.1 Analogy estimationAnalogy method of estimating is developed to compare between two or more program, systems,and items.7.2 Top-Down estimation Top-Down estimation is for overall cost estimation and derived from the global properties of the software project, and total cost spilt up into various low-level components. WBS the method most used for Top-Down estimation. SDP method is used because there is no detailed information available. This method is applicable to early cost estimation in early phase of the development. SDP in historical data is needed such as IT server implemented uses the same specifications to reduced time. e.g. Estimation for college degree (Top-Down estimation) [30] 14
  • 15. Year Tuition, Fees, Room And Other expenses Total estimation Board cost for Year 1 $ 2900× 3.75 = $ 10875 $ 1500.00 $ 12375.00 2 $ 3000× 3.75 = $ 11250 $ 1500.00 $ 12750.00 3 $ 3100× 3.75 = $ 11625 $ 1500.00 $ 13125.00 Grand Total $ 38250.00 Table 6: Top-Down estimation method example7.3 Bottom-Up estimationBottom-Up estimation is for individual software component estimation by the person who willdevelop the software components; all costs are summed to arrive the total product, SDP requiresmore details method approached. And components estimated and combine the results of overallproject. A knowledge accumulated software components and their interaction leading COCOMOdetails model. [30]e.g. Books: (5 courses)(2 semester)(1 book)($80) = $ 8007.4 Constructive Cost Model (COCOMO) COCOMO is widely used in industry, and the latest version is COCOMO II which is cost model included numerous parameters and techniques for estimation a wide variety of software development. [15] COCOMO 81 initially developed by Boehm in 1981, for estimation, schedule and cost in SDP, which is controlling Software development efforts. COCOMO II is to develop software cost and schedule estimation model, cost database with tools capabilities in software developments plan. COCOMO method can made more accurate because it’s required characteristics of the software to be developed, qualification and experience of the software development. 15
  • 16. Table 7: Strengths and Weaknesses Of Software Cost-Estimation Methods[25]8 Human–computer interaction (HCI)SDP involves improving interaction between users and computer that make computer moreusable and satisfy user needed. HCI Within studding, planning and designed.8.1 Input device User interfaces such as keyboard, mouse device.8.2 Output device User interfaces such as information originates from machine internments.8.3 Graphical User interface User interfaces that allow users to images not text commands such as computers, and hand- held device. 16
  • 17. 8.4 Usability User interfaces such as website, software application and machine which are interaction with human.8.5 Dialog style User interfaces such as Menu, common language, and form File-in.9 Operating Systems, Databases & Software Tools [17] [7] OS may collecting of software’s that managing computer hardware, system software and application programs.9.1 Operating systems (OS’s) Early computers were built to performed single tasks such as calculator, basic OS’s were developed features in 1950s, OS’s functions and the modern OS’s were developing such as MacOS, Linux, Windows, and MacOS.9.1.1 MultitaskingSDP developed the OS’s to implements task from single task for multitasking process thatallowing users to process more than one task and this will help to reduced waiting time.e.g. UNIX, Windows 20009.1.2 Multi-user’sSDP developing OS’s to concurrent access by multiple users of computers, network andmainframe application program.e.g. UNIX, Windows 2000 and Linux9.1.3 Computer HardwareSDP developing the hardware functions which such as input, output and memory allocation.9.1.4 Time sharingSDP developed OS’s multi-user system in time sharing, the time sharing interactive OS’sallowed end users for Video terminal, and programmers as following: [4]  Entrance source code using sophisticated editors 17
  • 18.  Compile the source code  Link the object code and run executable code interactively.9.1.5 Operating System componentsOS’s components divided into sub-systems in accordance with functions performed. [4][14]9.1.5.1 Process ManagementProcess management is the program in execution, process needs certain resource, CPU time,memory, files, and I/O devices, to accomplish its task.OS’s must allocated resources to processes, enable processes to shared and exchangedinformation, protected recourses, creation, deletion, termination, suspension, resumption,synchronization, and communications. [9]e.g. Multiprogramming and multitasking.9.1.5.2 Memory ManagementManaging computer memory, and dynamically allocated of memory at program requested.  Dynamic memory allocation: statics memory used of certain memory physically.  Systems with virtual memory: decoupling the physical memory here we have virtual memory and physical memory.Memory management systems function is to processes data between two level of memory –primary storage and secondary storage.i.e., VAX, ARM and IBM System/370 and successors9.1.5.3 I/O Device ManagementDisk management functions such as storage allocation, consists of I/O devices interfaces throughbuffering/caching memory. The devices will communicates with host processor throughconnection point “ports”. [9]SDP’s may develop peripherals I/O devices for users to increase performance.e.g. Keyboard, Mouse, Monitor, Disk, and printer.9.1.5.4 File ManagementA File called “logical storage unit”, the file organized directories and sub-directories. 18
  • 19. SDP may develop OS’s responsible for creating and deleting file and directories, supporting filemanipulation, mapping and back up file onto media tap and secondary storage. Table 4 containssome common file extensions. Extension Description exe Executable file com Executable file (DOS only) bat Executable file (batchfile) txt Text file (ASCII code) Table 8: Common extensions file [27]9.1.5.5 System Protection / SecuritySPD may develop OS’s to protected users access, user’s processes, and accessing on applicationswith security policy.e.g. domain, computer systems such as Software, Hardware and Data.9.1.5.6 DatabasesDBMS requires OS’s to retrieve and store database information with some peripherals usersinterface and interactions such as Database designers and database administrators, DBMS systemsupport single-user and multi-users.e.g. System R and IMS9.1.5.6.1 Hierarchal database management systemHDBMS data storage is arranged in the form of parent-child relationship. This is located thoughroots of data tree. [10]Disadvantage: the links in roots unidirectional.9.1.5.6.2 DBMS Crashes recoveryDBMS recovery data in buffer pool manager “main memory cashes” this provided in many OS’sdeveloped. [11] 19
  • 20. 9.1.5.6.3 Network database management systemNDBMS allowed many users to access and share database located on the network, thedisadvantage is mapping data is very difficult.9.1.6 Graphical User Interface (GUI)GUI operating system contains graphic and icons and commonly navigated by computer mouse.e.g. System 7.x, Windows 98 and Windows CE10 Software Requirement analysis and design methods10.1 Computer Aided Software Engineering (CASE) Software tools handle techniques and notations of the model that they support, CASE tools are used for development and review activities. The CASE tool has been developed to increasing the software productivity in various Computer-Aided designs (CAD) and Computer-Aided Manufactures (CAM) to be successful in other engineering disciplines. [20] CASE tools includes the application of software tools to software design, requirements tracing, code production, testing, document generation, and other software engineering activities. Assemblers and compilers are CASE tools. Tools type Example Planning tools  PERT tools, estimation tools, spreadsheets Edition tools  Text editors, diagram editors, word processors Testing tools  Test data generator, and file comparators Re-engineering tools  Cross-reference systems, program re- structuring systems Method support tools  Object-oriented methods, Data-oriented methods and  Formal methods: Specification languages & notations Tool integration techniques  Meta-tools generate other tools; compiler- compilers are the classic example.  Tool evaluation 20
  • 21. (IEEE-1209, IEEE-1348, Mos92, VB97) Documentation tools  Page layout programs, image editors Prototyping tools  Very high-level language, user interface generators Table 9: Functional tool Classification [26]10.1.1 Computer-Aided designs (CAD)CAD software is used to increase the productivity of designer, quality of design,communications through documentation, and to create a database for manufacturing. The CADsystem exists in major platforms such as (Windows, Linux, UNIX and Mac OS X).e.g. 3D models, and 2D drawings,10.1.2 Computer-Aided Manufactures (CAM)CAM is used to control machine tools, assists all operation of manufacturing plant, and to createfaster production materials. [21] Figure 5: Software Engineering Development 21
  • 22. 10.2 Rationale Unified ProcessIn 1988 RUP was created; RUP is the most popular software development methodology, basedon iterative life cycle model RUP included four phases: Inception, Elaboration, Construction andTransition. [1]RUP is use case driven development model and use cases described interaction between user andsystems.10.2.1 Rational developer for SystemDeveloper tools for traditional mainframe development and integrated mixed workloads.  Mainframe interacted with workstation-based environment.  Mainframe-based application COBOL, PL/I, Assembler, C/C++, and Java  Rational development help to improved productivity, maintain mainframe application, shorter cycle, reduce cost, and provide accessing interaction tools. [24]11 Software languagesSDP provide software languages with widely path in languages developer from GeneralLanguage 1 up to General Language 5.11.1 COmmon Business-Oriented LanguageCOBOL as 3rd GL, Higher ordered language is dominated business, finance, and administrativesystems for companies and governments. The COBOL 2002 standard includes support forobject-oriented programming and other modern language features.11.2 Ada / SQLIn 1970 System engineering institute study issue of Ada interfaces to SQL, Ada language isseparated from SQL language, with same interfaces. Here they used complier module totranslated SQL language into Ada source code.DoD Software system migration plan, SDP migration plan includes appropriate softwareprocesses, methods, tools, and hardware and software platforms12 Software Development with Object- Oriented techniqueOO methodology described in three processes: Object oriented Analysis (OOA), Object OrientedDesigned (OOD) and Object Oriented Programming (OOP). These processes are implemented initeratively or/and evolutionary. [28] [23] 22
  • 23. OOA OOD OOP Figure 6: OO life cycle  Object-Oriented Analysis OOA refers to analyzing the function requirements for the system, the process defining all classes that are relevant to solving the problem, behaviors, and relationship associated.  Object-Oriented designed OOD transforms print from OOA into “blueprint” software construction, elaborates OOA to produced implementation Specifications [5]  Object-Oriented programming OOP is coding process of the software development, using an OO language (e.g., C++, Ada 95).12.1.1 ClassThe class definitions what operation instances the class can perform and what variable andassociations the instances can have.12.1.2 InheritanceThe inheritance can be built in established classes without changed exiting classes. [3]12.1.3 Single InheritanceOO in terms of classes hierarchy, to define verity of elements, attributes, methods, andoperations. [28] 23
  • 24. Figure 7: Object Oriented Class[28]12.1.4 Multiple inheritancesOO in terms to have more than one superclass involved in interface inheritance orimplementation Inheritance, and combinations of these.ConclusionThe software development plan will defines and processes into work breakdown structure toeliminate each the software component cost estimation with capability cost estimationtechniques.SDP processes model developed the complex system software such as aerospace system softwarethrough common used models in the software development plan such as waterfall model,Incremental Builds, and Evolutionary Spiral Development which explains the processes infigures shows and discussed in this paper.SDP increase performance into software developed and productivity for product and services,SW-CMM uses to develop the process maturity into levels from level 1 to 5. Also usinginternational standard model involved with processes improvement such as ISO 9000, andISO/IEC 15504.SDP reduced costs into the software reuse with specific models and methods in standard fordeveloping, reused and migration plan for software system. Also In this paper I reviewed OS’s 24
  • 25. component and the models which the software development plan developed OS’s in 1950s fromsingle user to multi-Users, Multi-Tasking, and Multi-Programming.SDP invented methods Object-Oriented to designed and implemented programs such as Simula-67, Smalltalk, Ada-83 , and C++.List of AcronymsAAda Syntax program wordCCASE Computer Aided Software engineeringCSCI Computer Software Configuration ItemCOBOL Common Business-Oriented LanguageDDBMS Database Management SystemGGUI Graphical User InterfaceHHCI Human-Computer InteractionOOO Object-OrientedOOA Object-Oriented analysisOOD Object-Oriented designedOOP Object-Oriented ProgrammingOS’s Operating SystemsRRUP Rational Unified ProcessSDR System Design reviewSRR Software Requirements ReviewSDP Software Development PlanSDLC Software Development life cycleSQL Structured Query LanguageWWSB Work Breakdown Structure 25
  • 26. PPDR Preliminary Design ReviewNNDBMS Network Database Management SystemReferences[1] Software DVE - http://www.softdevteam.com/tools.aspx[2] Software Process WBS - MIL-HDBK-881[3] The Road to the Unified Software Development Process, By Ivar Jacobson, Stefan Bylund http://books.google.com.sa/books?id=AQOQgXxIEk8C&printsec=frontcover&source= gbs_ge_summary_r&cad=0#v=onepage&q&f=false[4] Operating Systems Concepts, By P.S. Gill,http://books.google.com.sa/books?id=eQ0Z1JWI7AwC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false [5] Guidelines for Successful Acquisition and Management of Software-Intensive Systems:Weapon Systems Command and Control Systems Management Information Systems -[6] SDP - http://en.wikipedia.org/wiki/Software_development_process[7] Q14 - Standards Development Plan, Ada Interfaces to SQL: Analysis and Recommendations.[8] Towards Component-Based Software Engineering, Ju An Wang, Department of ComputerScience and Information Systems, University of Nebraska at Kearney Operating SystemConcepts with Java, Ch3.[9] OS’s components - http://phoenix.goucher.edu/~kelliher/cs42/sep11.html[10] DBMS – Complete Practical Approach, By Sharad Maheshwari, Ruchin Jain - http://books.google.com.sa/books?id=nt- T0cfaWPoC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=fa lse[11] Operating System Support for Database Management, Michael Stonebraker, University ofCalifornia, Berkeley -http://books.google.com.sa/books?id=7a48qSMuVcUC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false[12] A pragmatic approach to software reuse, B.jalender, dr. A govardhan, dr.p premchand,[13] DoD Software reuse intensive.[14] Software Productivity Consortium Services Corporation. Reuse-Driven Software ProcessGuidebook Product Description, SPC-93146-N, version 01.00.04, Herndon, VA, 1995.http://www.software.org/pub/Products/rspgo.html[15] Seminar on Software Cost Estimation, WS 2002 / 2003, presented by Nancy Merlo – Schett. -https://files.ifi.uzh.ch/rerg/arvo/courses/seminar_ws02/reports/Seminar_4.pdf[16] Software Methods and Tools, Kenneth M. Anderson, Lecture 10: Software Re-Use.[17] Using the software capability maturity model for, certification projects (1998), leanna k.Rierson, FAA, washington, d.c 26
  • 27. [18] Estimation methods - http://fast.faa.gov/archive/v0800/pricing/c1919-19B.htm[20] CASE - https://dap.dau.mil/glossary/pages/1590.aspx[21] DoD-STD-2167A: Defense System Software Development.http://www.bmpcoe.org/library/books/dod-std-2167a/2.html[22] International STD ISO/IEC 122707 Software life cycle,http://www.abelia.com/docs/12207tut.pdf[23] Prof. Kevin Domzalski, 2007 UCSD Extension Online Learning Course: SystemsEngineering Software Overview[24] IBM Rational Developer - http://www-01.ibm.com/software/rational/products/developer/systemz/devsysz/[25] Software Engineering Economics, Barry W. Boehm[26] Software engineering - SW Processes, Dr. Ghazy Assassa – Ch.3http://faculty.ksu.edu.sa/ghazy/CSC342/RC3_SW%20Process.pdf[27] File extensions - http://hul.harvard.edu/ois/systems/wax/wax-public-help/mimetypes.htm[28] Vol1, and 3: Handbook Object-Oriented Overview, FAA[29] Software Development Cost Estimation Guidebook[30] 9530IEEM281: Engineering Economics, NTHU, C,-Y Kuo, Lab. Soft Computing and FuzzyOptimization.[31] SDP – DI-IPSC-81427A[31] CMMISM for Systems Engineering/Software Engineering, Version 1.02 (CMMI-SE/SW,V1.02). 27