SlideShare a Scribd company logo
1
Software Development Plans
Just What Are They Good For?
BY: AHMED S. ALQAHTANI
SESO – SU12
2
Table of Contents
1 Abstract................................................................................................................................... 4
2 Introduction............................................................................................................................. 4
3 Software Development plan WBD ......................................................................................... 5
4 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................................................................................... 9
5 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.............................................................................................................. 12
6 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................................................................................. 14
7 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)......................................................................... 15
8 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................................................................................................................... 17
9 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
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) ................................................................................ 20
10 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.............................................................................. 22
11 Software languages ............................................................................................................... 22
11.1 COmmon Business-Oriented Language ....................................................................... 22
11.2 Ada / SQL ..................................................................................................................... 22
12 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 ............................................................................................ 24
Conclusion ................................................................................................................................... 24
List of Acronyms ........................................................................................................................... 25
References..................................................................................................................................... 26
Table of Figures
FIGURE 1: INTERNATIONAL STANDARD SOFTWARE LIFECYCLE PROCESS .............. 6
FIGURE 2: WATERFALL SOFTWARE DEVELOPMENT........................................................ 7
FIGURE 3: INCREMENT MODEL .............................................................................................. 9
FIGURE 4: EVOLUTIONARY SPIRAL MODEL ....................................................................... 9
FIGURE 5: SOFTWARE ENGINEERING DEVELOPMENT................................................... 21
FIGURE 6: OO LIFE CYCLE...................................................................................................... 23
FIGURE 7: OBJECT ORIENTED CLASS.................................................................................. 24
4
List of Tables
TABLE 1: SOFTWARE DEVELOPMENT PLAN WBS ............................................................. 5
TABLE 2: BASIC DEVELOPMENT MODEL............................................................................. 7
TABLE 3: KEY PROCESS AREA FOR SW-CMM ................................................................... 11
TABLE 4: CMMI-DVE LEVELS................................................................................................ 12
TABLE 5: PROS AND CONS SOFTWARE RE-USE................................................................ 14
TABLE 6: TOP-DOWN ESTIMATION METHOD EXAMPLE................................................ 15
TABLE 7: STRENGTHS AND WEAKNESSES OF SOFTWARE COST-ESTIMATION
METHODS[25]
....................................................................................................................... 16
TABLE 8: COMMON EXTENSIONS FILE [27]
.......................................................................... 19
TABLE 9: FUNCTIONAL TOOL CLASSIFICATION [31]
........................................................ 21
1 Abstract
Software development plan controls the progress in achieving the software product, SDP may
also help to make better use of the software components and integrate with all the stages in
software development life cycle. SPD estimation cost, schedule and model are used to have the
best use of the software that we intend to accomplish. Although SDP shows the development of
operating systems, Databases, and software tools. Software requirements to developing software
system and software languages are developed. Developing process models to improve process
and 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 Introduction
The software development plan will recover software development process, software
development life-Cycle and general plan for software development.
This paper discusses the various types of Software development processes, software
development Life-Cycles and software development methods. There are several models for such
processes, each describing approaches to variety of tasks or activities that take place during the
acquisition and configuration of the services of the system process. SDLC shall represent the
phases 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 the
running system. Software Development Plan (SDP) describes developer’s plan for software
development efforts. The term system development life cycle (SDLC) includes processing,
altering information system, models, methodologies and people involved to develop these
systems. System development phases shall established unambiguous, understanding between
system analysts and software analysts / designer of the software requirements. SDP although
5
producing high level software designed to meet function and performance requirements. The
term unit test, configuration items test, and integration test components will be verified in the
development models. [6] [31]
3 Software Development plan WBD
The Work Break Down structure (WBS) may provide framework in terms of hierarchically
related with product-oriented elements which in assessing technical accomplishment, measuring
cost and schedule performance.
Table 1: Software Development Plan WBS
WBS utilized elements and software components in Software development plan into detail and
refers software developer to defined cost estimation techniques for each element and components
of developing the software. [4]
6
4 Software Development life cycle models
SDLC describes how and when the software development activities (phases) are to be executed
into phases, I will discuss the international standard software life cycle, the difference used
between the common software life cycle. [23]
4.1 Software Life Cycle Process
International standards established a common framework for software life cycle process with
well-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, eight
supporting process and four organization processes.
Figure 1: International Standard software Lifecycle process
IEEE/EIA 12207.0-1996
7
4.2 Basic Development Model
Selecting software development under ISO/IEC 12207 depicting software development models
undergo what /how developing model goes into phases. The project may use more than one
model. [22]
Basic Model All Rqmts
Defined
First?
Multiple
Builds?
Use Interim
Products?
Remarks
Waterfall Yes No No Build N = Build 1
Incremental Yes Yes Maybe Build N = Build (N-1) + More
Capabilities
Evolutionary No Yes Yes Build N = Build (N-1) + Refined Specs.
Table 2: Basic Development Model
4.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
Details Design
Coding And CSU Testing
CSC Integration and
Testing
CSCI Testing
SRS Software
Requirements
Specification.
IRS Interface
Requirements
Specification.
SSR Software
Specification
Review
IDD Interfaces Designed
Document
SDD Software Design
Document
STP Software Test Plan
STD Software Test
Description
SDF Software Development
file
SPS Software Product Specification
Figure 2: Waterfall Software Development
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.
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 model
4.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
10
5 Process improvement models
SDP will process into models improving processes, software activities project into SW-CMM
maturity levels with Key process area framework in the project, and CMMI integration multiple
frameworks processes.
In 1990s, Software Capability Maturity Model (SW-CMM) considered as a measuring software
process maturity and it has been developed by Software Engineering Institutes into systems
engineering process and the acquisition life cycle.
5.1 Software Capability Maturity Model
The SW- CMM framework was started in 1986; The SW- CMM categorized overall company
maturity into five levels of maturity. For the purpose of SW-CMM “Software process can be
defined as a set of activities, methods, practices, and transformation that people use to develop
and maintain software and associated products. Each the level 1 to 5 is based on achieving the
attributes of the previous low levels.
The Software Capability Maturity Model (SW-CMM) is the most common reference model used
in these evaluations. [17]
11
Table 3: Key Process area for SW-CMM
5.2 Capability Maturity Model Integration
CMMI refers to suite integration frameworks called constellation, each constellation uses a set of
common process areas plus additional process for specific domain, CMMI may process model
used in multiple domain. Multidisciplinary environment e.g. Federal Aviation Administration
(FAA) in 1998 industry / government effort led to creation of SW-CMM integration (CMMI) for
System Engineering, Software Engineering integration.
CMMI may help organization in process improvement and guided to achieve their goal in
performance, CMMI-DVE developing both product of software development and services.
12
SDP process improvement may divide in CMMI- DVE into two levels, shows below in Table3:
Level Continuous representation
Capability levels
Staged representation
Maturity levels
Level0 Incomplete
Level1 Performed Initial
Level2 Managed Manage
Level3 Defined Defined
Level4 Quantitatively manage
Level5 Optimizing
Table 4: CMMI-DVE levels [31]
5.3 ISO 9000
ISO 9000 may Describes standard to organized process to manufacture product and the method
of managing and monitoring progress, ISO 9000 standard have been applied in software
development such as CMMI.
5.4 ISO/IEC 15504
ISO/IEC 15504 may processes assessment as Software Process Improvement Capability
Determination (SPICE), frameworks for software process assessment. This Models process to
manage, 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.
13
What Are The Key Technical & Non-Technical Issues?
 Capabilities, Standard, COSTs for technical issues.
 Systemic approach, domain knowledge.
6.1 SDP software reuse
SDP in software reuse with two basic types delivered in first vertical reuse into new version
legacy system with same domain and system, and second type delivered existence legacy system
to other domain or system. [12]
6.1.1 Vertical reuse
The 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. It
increases the productivity of application engineering projects through the standardization of a
product family and an associated production process." [14]
6.1.2 Horizontal reuse
Horizontal reuse refers software component reuse across a wide verity of application, such as
Graphical 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 investments
Up-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.
14
6.5 Pros and Cons for Software reuse. [16]
Pros of software reuse Cons of Software reuse
Efficiency: reduced time designing or coding Mismatch: Reuse requirement and design may
not match, and Non-functional characteristics.
e.g.
Standardization: reuse of UI widgets in MAC
OS and Win 32 lead common applications
Debugging: testing design and code Expense: some components are too expensive.
e.g. licenses for HTML and XML
Profit: lead market of component software
e.g. ActiveX components, HyperCard stacks,
Java packages and software tools.
Table 5: Pros and Cons Software Re-use
7 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 estimation
Analogy 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]
15
Year Tuition, Fees, Room And
Board
Other expenses Total estimation
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 example
7.3 Bottom-Up estimation
Bottom-Up estimation is for individual software component estimation by the person who will
develop the software components; all costs are summed to arrive the total product, SDP requires
more details method approached. And components estimated and combine the results of overall
project. A knowledge accumulated software components and their interaction leading COCOMO
details model. [30]
e.g. Books: (5 courses)(2 semester)(1 book)($80) = $ 800
7.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.
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 more
usable 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.
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 Multitasking
SDP developed the OS’s to implements task from single task for multitasking process that
allowing users to process more than one task and this will help to reduced waiting time.
e.g. UNIX, Windows 2000
9.1.2 Multi-user’s
SDP developing OS’s to concurrent access by multiple users of computers, network and
mainframe application program.
e.g. UNIX, Windows 2000 and Linux
9.1.3 Computer Hardware
SDP developing the hardware functions which such as input, output and memory allocation.
9.1.4 Time sharing
SDP developed OS’s multi-user system in time sharing, the time sharing interactive OS’s
allowed end users for Video terminal, and programmers as following: [4]
 Entrance source code using sophisticated editors
18
 Compile the source code
 Link the object code and run executable code interactively.
9.1.5 Operating System components
OS’s components divided into sub-systems in accordance with functions performed. [4][14]
9.1.5.1 Process Management
Process 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 exchanged
information, protected recourses, creation, deletion, termination, suspension, resumption,
synchronization, and communications. [9]
e.g. Multiprogramming and multitasking.
9.1.5.2 Memory Management
Managing 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 successors
9.1.5.3 I/O Device Management
Disk management functions such as storage allocation, consists of I/O devices interfaces through
buffering/caching memory. The devices will communicates with host processor through
connection 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 Management
A File called “logical storage unit”, the file organized directories and sub-directories.
19
SDP may develop OS’s responsible for creating and deleting file and directories, supporting file
manipulation, mapping and back up file onto media tap and secondary storage. Table 4 contains
some 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 / Security
SPD may develop OS’s to protected users access, user’s processes, and accessing on applications
with security policy.
e.g. domain, computer systems such as Software, Hardware and Data.
9.1.5.6 Databases
DBMS requires OS’s to retrieve and store database information with some peripherals users
interface and interactions such as Database designers and database administrators, DBMS system
support single-user and multi-users.
e.g. System R and IMS
9.1.5.6.1 Hierarchal database management system
HDBMS data storage is arranged in the form of parent-child relationship. This is located though
roots of data tree. [10]
Disadvantage: the links in roots unidirectional.
9.1.5.6.2 DBMS Crashes recovery
DBMS recovery data in buffer pool manager “main memory cashes” this provided in many OS’s
developed. [11]
20
9.1.5.6.3 Network database management system
NDBMS allowed many users to access and share database located on the network, the
disadvantage 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 CE
10 Software Requirement analysis and design methods
10.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
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 CAD
system 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 create
faster production materials. [21]
Figure 5: Software Engineering Development
22
10.2 Rationale Unified Process
In 1988 RUP was created; RUP is the most popular software development methodology, based
on iterative life cycle model RUP included four phases: Inception, Elaboration, Construction and
Transition. [1]
RUP is use case driven development model and use cases described interaction between user and
systems.
10.2.1 Rational developer for System
Developer 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 languages
SDP provide software languages with widely path in languages developer from General
Language 1 up to General Language 5.
11.1 COmmon Business-Oriented Language
COBOL as 3rd
GL, Higher ordered language is dominated business, finance, and administrative
systems for companies and governments. The COBOL 2002 standard includes support for
object-oriented programming and other modern language features.
11.2 Ada / SQL
In 1970 System engineering institute study issue of Ada interfaces to SQL, Ada language is
separated from SQL language, with same interfaces. Here they used complier module to
translated SQL language into Ada source code.
DoD Software system migration plan, SDP migration plan includes appropriate software
processes, methods, tools, and hardware and software platforms
12 Software Development with Object- Oriented technique
OO methodology described in three processes: Object oriented Analysis (OOA), Object Oriented
Designed (OOD) and Object Oriented Programming (OOP). These processes are implemented in
iteratively or/and evolutionary. [28] [23]
23
 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 Class
The class definitions what operation instances the class can perform and what variable and
associations the instances can have.
12.1.2 Inheritance
The inheritance can be built in established classes without changed exiting classes. [3]
12.1.3 Single Inheritance
OO in terms of classes hierarchy, to define verity of elements, attributes, methods, and
operations. [28]
OOD
OOP
OOA
Figure 6: OO life cycle
24
Figure 7: Object Oriented Class[28]
12.1.4 Multiple inheritances
OO in terms to have more than one superclass involved in interface inheritance or
implementation Inheritance, and combinations of these.
Conclusion
The software development plan will defines and processes into work breakdown structure to
eliminate each the software component cost estimation with capability cost estimation
techniques.
SDP processes model developed the complex system software such as aerospace system software
through common used models in the software development plan such as waterfall model,
Incremental Builds, and Evolutionary Spiral Development which explains the processes in
figures 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 using
international standard model involved with processes improvement such as ISO 9000, and
ISO/IEC 15504.
SDP reduced costs into the software reuse with specific models and methods in standard for
developing, reused and migration plan for software system. Also In this paper I reviewed OS’s
25
component and the models which the software development plan developed OS’s in 1950s from
single 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 Acronyms
A
Ada Syntax program word
C
CASE Computer Aided Software engineering
CSCI Computer Software Configuration Item
COBOL Common Business-Oriented Language
D
DBMS Database Management System
G
GUI Graphical User Interface
H
HCI Human-Computer Interaction
O
OO Object-Oriented
OOA Object-Oriented analysis
OOD Object-Oriented designed
OOP Object-Oriented Programming
OS’s Operating Systems
R
RUP Rational Unified Process
SDR System Design review
SRR Software Requirements Review
SDP Software Development Plan
SDLC Software Development life cycle
SQL Structured Query Language
W
WSB Work Breakdown Structure
26
P
PDR Preliminary Design Review
N
NDBMS Network Database Management System
References
[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_s
ummary_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 Computer
Science and Information Systems, University of Nebraska at Kearney Operating System
Concepts 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 of
California, Berkeley -
http://books.google.com.sa/books?id=7a48qSMuVcUC&printsec=frontcover&source=gbs_ge_s
ummary_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 Process
Guidebook 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
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: Systems
Engineering 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.3
http://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 Fuzzy
Optimization.
[31]
SDP – DI-IPSC-81427A
[31]
CMMISM
for Systems Engineering/Software Engineering, Version 1.02 (CMMI-SE/SW,
V1.02).

More Related Content

What's hot

Erpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazinErpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazin
Issam Hejazin
 
zJOS System Events Automation Users Guide
zJOS System Events Automation Users GuidezJOS System Events Automation Users Guide
zJOS System Events Automation Users Guide
Deru Sudibyo
 
Pro console 4.6
Pro console 4.6Pro console 4.6
Pro console 4.6
Josep Chic
 
Stage 4 - Final Proposal
Stage 4 - Final ProposalStage 4 - Final Proposal
Stage 4 - Final ProposalVincent Trinh
 
Bhuma learning portal_ui
Bhuma learning portal_uiBhuma learning portal_ui
Bhuma learning portal_ui
Debjani Roy
 
Netex learningCentral | Administrator Manual v4.4 [En]
Netex learningCentral | Administrator Manual v4.4 [En]Netex learningCentral | Administrator Manual v4.4 [En]
Netex learningCentral | Administrator Manual v4.4 [En]
Netex Learning
 
Simple finance migration, customization and configuration (1) (3)
Simple finance   migration, customization and configuration (1) (3)Simple finance   migration, customization and configuration (1) (3)
Simple finance migration, customization and configuration (1) (3)
Pri Pin
 
Sql developer usermanual_en
Sql developer usermanual_enSql developer usermanual_en
Sql developer usermanual_en
Aravindharamanan S
 
Config managerplus
Config managerplusConfig managerplus
Config managerplus
Khorshedul Islam
 
MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK
MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK
MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK
Bahria University Islamabad, Pakistan
 
Programming
ProgrammingProgramming
Programming
Aravindharamanan S
 
Whitepaper - The 5 I's of the CIO
Whitepaper - The 5 I's of the CIOWhitepaper - The 5 I's of the CIO
Whitepaper - The 5 I's of the CIOPeter Bricknell
 
Sony Xperia S Manual / User Guide
Sony Xperia S Manual / User GuideSony Xperia S Manual / User Guide
Sony Xperia S Manual / User Guide
manualsheet
 
TECHNOITSCHOOL BOOK OF PROJECT
TECHNOITSCHOOL BOOK OF PROJECTTECHNOITSCHOOL BOOK OF PROJECT
TECHNOITSCHOOL BOOK OF PROJECT
Bahria University Islamabad, Pakistan
 
276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide
Massimo Rubboli
 
Instructor utilities guide
Instructor utilities guideInstructor utilities guide
Instructor utilities guideapaezgonzal
 
AppLoader User Guide
AppLoader User GuideAppLoader User Guide
AppLoader User Guide
NRG Global
 
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideInter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideVideoguy
 
Protective Device Coordination
Protective Device CoordinationProtective Device Coordination
Protective Device Coordinationjoeengi
 

What's hot (20)

Erpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazinErpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazin
 
zJOS System Events Automation Users Guide
zJOS System Events Automation Users GuidezJOS System Events Automation Users Guide
zJOS System Events Automation Users Guide
 
Pro console 4.6
Pro console 4.6Pro console 4.6
Pro console 4.6
 
Stage 4 - Final Proposal
Stage 4 - Final ProposalStage 4 - Final Proposal
Stage 4 - Final Proposal
 
Bhuma learning portal_ui
Bhuma learning portal_uiBhuma learning portal_ui
Bhuma learning portal_ui
 
Netex learningCentral | Administrator Manual v4.4 [En]
Netex learningCentral | Administrator Manual v4.4 [En]Netex learningCentral | Administrator Manual v4.4 [En]
Netex learningCentral | Administrator Manual v4.4 [En]
 
Simple finance migration, customization and configuration (1) (3)
Simple finance   migration, customization and configuration (1) (3)Simple finance   migration, customization and configuration (1) (3)
Simple finance migration, customization and configuration (1) (3)
 
Sql developer usermanual_en
Sql developer usermanual_enSql developer usermanual_en
Sql developer usermanual_en
 
Config managerplus
Config managerplusConfig managerplus
Config managerplus
 
MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK
MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK
MUHAMMAD SHARIF | TECHNOITSCHOOL BOOK
 
Programming
ProgrammingProgramming
Programming
 
Whitepaper - The 5 I's of the CIO
Whitepaper - The 5 I's of the CIOWhitepaper - The 5 I's of the CIO
Whitepaper - The 5 I's of the CIO
 
Sony Xperia S Manual / User Guide
Sony Xperia S Manual / User GuideSony Xperia S Manual / User Guide
Sony Xperia S Manual / User Guide
 
TECHNOITSCHOOL BOOK OF PROJECT
TECHNOITSCHOOL BOOK OF PROJECTTECHNOITSCHOOL BOOK OF PROJECT
TECHNOITSCHOOL BOOK OF PROJECT
 
276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide
 
Instructor utilities guide
Instructor utilities guideInstructor utilities guide
Instructor utilities guide
 
AppLoader User Guide
AppLoader User GuideAppLoader User Guide
AppLoader User Guide
 
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideInter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User Guide
 
Protective Device Coordination
Protective Device CoordinationProtective Device Coordination
Protective Device Coordination
 
develop_a_first_process_application_2013
develop_a_first_process_application_2013develop_a_first_process_application_2013
develop_a_first_process_application_2013
 

Viewers also liked

Software Development Plan of Fixed Asset Management System
Software Development Plan of Fixed Asset Management SystemSoftware Development Plan of Fixed Asset Management System
Software Development Plan of Fixed Asset Management SystemNasiruddin Juel
 
Steve_Gubenia_SDP
Steve_Gubenia_SDPSteve_Gubenia_SDP
Steve_Gubenia_SDPzenchi0
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Garuda Trainings
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basic
Anurag Tomar
 
How To Plan a Software Project
How To Plan a Software ProjectHow To Plan a Software Project
How To Plan a Software Project
HowToPlanASoftwareProject
 
ITFT - Software development life cycle
ITFT  -   Software development life cycleITFT  -   Software development life cycle
ITFT - Software development life cycle
Shruti Kunwar
 
Risk management in Software Industry
Risk management in Software IndustryRisk management in Software Industry
Risk management in Software IndustryRehan Akhtar
 
Online shopping portal: Software Project Plan
Online shopping portal: Software Project PlanOnline shopping portal: Software Project Plan
Online shopping portal: Software Project Plan
piyushree nagrale
 
Overview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and moreOverview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and more
Steve Gladstone
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Angelin R
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)fentrekin
 
Software Development Plan
Software Development PlanSoftware Development Plan
Software Development PlanRonald Dove
 
Sample project plan
Sample project planSample project plan
Sample project planmamoonnift
 

Viewers also liked (16)

Software Development Plan of Fixed Asset Management System
Software Development Plan of Fixed Asset Management SystemSoftware Development Plan of Fixed Asset Management System
Software Development Plan of Fixed Asset Management System
 
Steve_Gubenia_SDP
Steve_Gubenia_SDPSteve_Gubenia_SDP
Steve_Gubenia_SDP
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
8 Project Plan
8 Project Plan8 Project Plan
8 Project Plan
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basic
 
How To Plan a Software Project
How To Plan a Software ProjectHow To Plan a Software Project
How To Plan a Software Project
 
ITFT - Software development life cycle
ITFT  -   Software development life cycleITFT  -   Software development life cycle
ITFT - Software development life cycle
 
Risk management in Software Industry
Risk management in Software IndustryRisk management in Software Industry
Risk management in Software Industry
 
Online shopping portal: Software Project Plan
Online shopping portal: Software Project PlanOnline shopping portal: Software Project Plan
Online shopping portal: Software Project Plan
 
Overview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and moreOverview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and more
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Onlineshopping
OnlineshoppingOnlineshopping
Onlineshopping
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Development Plan
Software Development PlanSoftware Development Plan
Software Development Plan
 
Sample project plan
Sample project planSample project plan
Sample project plan
 

Similar to Software Development Plan

Access 2007 Notes-All Chapters.pdf
Access 2007 Notes-All Chapters.pdfAccess 2007 Notes-All Chapters.pdf
Access 2007 Notes-All Chapters.pdf
Mandy Brown
 
U M Lvs I D E F
U M Lvs I D E FU M Lvs I D E F
U M Lvs I D E F
Ngo Hung Long
 
Shideshare
ShideshareShideshare
Shideshare
neha nasreen
 
Software architecture for developers
Software architecture for developersSoftware architecture for developers
Software architecture for developers
Chinh Ngo Nguyen
 
Online Hotel Room Booking System
Online Hotel Room Booking SystemOnline Hotel Room Booking System
Online Hotel Room Booking System
Abhishek Kumar
 
Android Programing Course Material
Android Programing Course Material Android Programing Course Material
Android Programing Course Material
Shady Selim
 
Design sparktutorial
Design sparktutorialDesign sparktutorial
Design sparktutorialjonnyno
 
Getting started with odi
Getting started with odiGetting started with odi
Getting started with odichecksekhar
 
Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140
rajesh_rolta
 
Administrator guide
Administrator guideAdministrator guide
Administrator guide
rturkman
 
Oracle pl-sql user's guide & reference
Oracle   pl-sql user's guide & referenceOracle   pl-sql user's guide & reference
Oracle pl-sql user's guide & referencedesitaria
 
How To Create PowerShell Function
How To Create PowerShell FunctionHow To Create PowerShell Function
How To Create PowerShell Function
VCP Muthukrishna
 
Oracl apps api usages
Oracl apps api usagesOracl apps api usages
Oracl apps api usages
rakhe_r
 
60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questionsRavic Kumar
 
O C S Inventory N G Installation And Administration Guide 1
O C S  Inventory  N G  Installation And  Administration  Guide 1O C S  Inventory  N G  Installation And  Administration  Guide 1
O C S Inventory N G Installation And Administration Guide 1rossodavide
 
Oracle10g new features
Oracle10g new featuresOracle10g new features
Oracle10g new features
Parameswar Rao Bandaru
 
FCC Interop Board Final Report 05 22 12
FCC Interop Board Final Report 05 22 12FCC Interop Board Final Report 05 22 12
FCC Interop Board Final Report 05 22 12Claudio Lucente
 
IEC programing manual
IEC programing manualIEC programing manual
IEC programing manual
quanglocbp
 
White Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google AppsWhite Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google Apps
Office
 
My "Grain Motion Detection" Project
My "Grain Motion Detection" ProjectMy "Grain Motion Detection" Project
My "Grain Motion Detection" Project
saveli4
 

Similar to Software Development Plan (20)

Access 2007 Notes-All Chapters.pdf
Access 2007 Notes-All Chapters.pdfAccess 2007 Notes-All Chapters.pdf
Access 2007 Notes-All Chapters.pdf
 
U M Lvs I D E F
U M Lvs I D E FU M Lvs I D E F
U M Lvs I D E F
 
Shideshare
ShideshareShideshare
Shideshare
 
Software architecture for developers
Software architecture for developersSoftware architecture for developers
Software architecture for developers
 
Online Hotel Room Booking System
Online Hotel Room Booking SystemOnline Hotel Room Booking System
Online Hotel Room Booking System
 
Android Programing Course Material
Android Programing Course Material Android Programing Course Material
Android Programing Course Material
 
Design sparktutorial
Design sparktutorialDesign sparktutorial
Design sparktutorial
 
Getting started with odi
Getting started with odiGetting started with odi
Getting started with odi
 
Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140
 
Administrator guide
Administrator guideAdministrator guide
Administrator guide
 
Oracle pl-sql user's guide & reference
Oracle   pl-sql user's guide & referenceOracle   pl-sql user's guide & reference
Oracle pl-sql user's guide & reference
 
How To Create PowerShell Function
How To Create PowerShell FunctionHow To Create PowerShell Function
How To Create PowerShell Function
 
Oracl apps api usages
Oracl apps api usagesOracl apps api usages
Oracl apps api usages
 
60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions
 
O C S Inventory N G Installation And Administration Guide 1
O C S  Inventory  N G  Installation And  Administration  Guide 1O C S  Inventory  N G  Installation And  Administration  Guide 1
O C S Inventory N G Installation And Administration Guide 1
 
Oracle10g new features
Oracle10g new featuresOracle10g new features
Oracle10g new features
 
FCC Interop Board Final Report 05 22 12
FCC Interop Board Final Report 05 22 12FCC Interop Board Final Report 05 22 12
FCC Interop Board Final Report 05 22 12
 
IEC programing manual
IEC programing manualIEC programing manual
IEC programing manual
 
White Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google AppsWhite Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google Apps
 
My "Grain Motion Detection" Project
My "Grain Motion Detection" ProjectMy "Grain Motion Detection" Project
My "Grain Motion Detection" Project
 

More from Ahmed S. AL-Qahtani

Team moogle group project 1
Team moogle group project 1Team moogle group project 1
Team moogle group project 1
Ahmed S. AL-Qahtani
 
Grocery storegps revn_20120613
Grocery storegps revn_20120613Grocery storegps revn_20120613
Grocery storegps revn_20120613
Ahmed S. AL-Qahtani
 
Jabed technologies rev12_jf
Jabed technologies rev12_jfJabed technologies rev12_jf
Jabed technologies rev12_jf
Ahmed S. AL-Qahtani
 
Tp efv
Tp efvTp efv
Temp efv
Temp efvTemp efv
Project01 atc
Project01 atcProject01 atc
Project01 atc
Ahmed S. AL-Qahtani
 

More from Ahmed S. AL-Qahtani (6)

Team moogle group project 1
Team moogle group project 1Team moogle group project 1
Team moogle group project 1
 
Grocery storegps revn_20120613
Grocery storegps revn_20120613Grocery storegps revn_20120613
Grocery storegps revn_20120613
 
Jabed technologies rev12_jf
Jabed technologies rev12_jfJabed technologies rev12_jf
Jabed technologies rev12_jf
 
Tp efv
Tp efvTp efv
Tp efv
 
Temp efv
Temp efvTemp efv
Temp efv
 
Project01 atc
Project01 atcProject01 atc
Project01 atc
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Software Development Plan

  • 1. 1 Software Development Plans Just What Are They Good For? BY: AHMED S. ALQAHTANI SESO – SU12
  • 2. 2 Table of Contents 1 Abstract................................................................................................................................... 4 2 Introduction............................................................................................................................. 4 3 Software Development plan WBD ......................................................................................... 5 4 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................................................................................... 9 5 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.............................................................................................................. 12 6 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................................................................................. 14 7 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)......................................................................... 15 8 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................................................................................................................... 17 9 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
  • 3. 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) ................................................................................ 20 10 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.............................................................................. 22 11 Software languages ............................................................................................................... 22 11.1 COmmon Business-Oriented Language ....................................................................... 22 11.2 Ada / SQL ..................................................................................................................... 22 12 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 ............................................................................................ 24 Conclusion ................................................................................................................................... 24 List of Acronyms ........................................................................................................................... 25 References..................................................................................................................................... 26 Table of Figures FIGURE 1: INTERNATIONAL STANDARD SOFTWARE LIFECYCLE PROCESS .............. 6 FIGURE 2: WATERFALL SOFTWARE DEVELOPMENT........................................................ 7 FIGURE 3: INCREMENT MODEL .............................................................................................. 9 FIGURE 4: EVOLUTIONARY SPIRAL MODEL ....................................................................... 9 FIGURE 5: SOFTWARE ENGINEERING DEVELOPMENT................................................... 21 FIGURE 6: OO LIFE CYCLE...................................................................................................... 23 FIGURE 7: OBJECT ORIENTED CLASS.................................................................................. 24
  • 4. 4 List of Tables TABLE 1: SOFTWARE DEVELOPMENT PLAN WBS ............................................................. 5 TABLE 2: BASIC DEVELOPMENT MODEL............................................................................. 7 TABLE 3: KEY PROCESS AREA FOR SW-CMM ................................................................... 11 TABLE 4: CMMI-DVE LEVELS................................................................................................ 12 TABLE 5: PROS AND CONS SOFTWARE RE-USE................................................................ 14 TABLE 6: TOP-DOWN ESTIMATION METHOD EXAMPLE................................................ 15 TABLE 7: STRENGTHS AND WEAKNESSES OF SOFTWARE COST-ESTIMATION METHODS[25] ....................................................................................................................... 16 TABLE 8: COMMON EXTENSIONS FILE [27] .......................................................................... 19 TABLE 9: FUNCTIONAL TOOL CLASSIFICATION [31] ........................................................ 21 1 Abstract Software development plan controls the progress in achieving the software product, SDP may also help to make better use of the software components and integrate with all the stages in software development life cycle. SPD estimation cost, schedule and model are used to have the best use of the software that we intend to accomplish. Although SDP shows the development of operating systems, Databases, and software tools. Software requirements to developing software system and software languages are developed. Developing process models to improve process and 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 Introduction The software development plan will recover software development process, software development life-Cycle and general plan for software development. This paper discusses the various types of Software development processes, software development Life-Cycles and software development methods. There are several models for such processes, each describing approaches to variety of tasks or activities that take place during the acquisition and configuration of the services of the system process. SDLC shall represent the phases 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 the running system. Software Development Plan (SDP) describes developer’s plan for software development efforts. The term system development life cycle (SDLC) includes processing, altering information system, models, methodologies and people involved to develop these systems. System development phases shall established unambiguous, understanding between system analysts and software analysts / designer of the software requirements. SDP although
  • 5. 5 producing high level software designed to meet function and performance requirements. The term unit test, configuration items test, and integration test components will be verified in the development models. [6] [31] 3 Software Development plan WBD The Work Break Down structure (WBS) may provide framework in terms of hierarchically related with product-oriented elements which in assessing technical accomplishment, measuring cost and schedule performance. Table 1: Software Development Plan WBS WBS utilized elements and software components in Software development plan into detail and refers software developer to defined cost estimation techniques for each element and components of developing the software. [4]
  • 6. 6 4 Software Development life cycle models SDLC describes how and when the software development activities (phases) are to be executed into phases, I will discuss the international standard software life cycle, the difference used between the common software life cycle. [23] 4.1 Software Life Cycle Process International standards established a common framework for software life cycle process with well-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, eight supporting process and four organization processes. Figure 1: International Standard software Lifecycle process IEEE/EIA 12207.0-1996
  • 7. 7 4.2 Basic Development Model Selecting software development under ISO/IEC 12207 depicting software development models undergo what /how developing model goes into phases. The project may use more than one model. [22] Basic Model All Rqmts Defined First? Multiple Builds? Use Interim Products? Remarks Waterfall Yes No No Build N = Build 1 Incremental Yes Yes Maybe Build N = Build (N-1) + More Capabilities Evolutionary No Yes Yes Build N = Build (N-1) + Refined Specs. Table 2: Basic Development Model 4.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 Details Design Coding And CSU Testing CSC Integration and Testing CSCI Testing SRS Software Requirements Specification. IRS Interface Requirements Specification. SSR Software Specification Review IDD Interfaces Designed Document SDD Software Design Document STP Software Test Plan STD Software Test Description SDF Software Development file SPS Software Product Specification Figure 2: Waterfall Software Development
  • 8. 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.
  • 9. 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 model 4.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
  • 10. 10 5 Process improvement models SDP will process into models improving processes, software activities project into SW-CMM maturity levels with Key process area framework in the project, and CMMI integration multiple frameworks processes. In 1990s, Software Capability Maturity Model (SW-CMM) considered as a measuring software process maturity and it has been developed by Software Engineering Institutes into systems engineering process and the acquisition life cycle. 5.1 Software Capability Maturity Model The SW- CMM framework was started in 1986; The SW- CMM categorized overall company maturity into five levels of maturity. For the purpose of SW-CMM “Software process can be defined as a set of activities, methods, practices, and transformation that people use to develop and maintain software and associated products. Each the level 1 to 5 is based on achieving the attributes of the previous low levels. The Software Capability Maturity Model (SW-CMM) is the most common reference model used in these evaluations. [17]
  • 11. 11 Table 3: Key Process area for SW-CMM 5.2 Capability Maturity Model Integration CMMI refers to suite integration frameworks called constellation, each constellation uses a set of common process areas plus additional process for specific domain, CMMI may process model used in multiple domain. Multidisciplinary environment e.g. Federal Aviation Administration (FAA) in 1998 industry / government effort led to creation of SW-CMM integration (CMMI) for System Engineering, Software Engineering integration. CMMI may help organization in process improvement and guided to achieve their goal in performance, CMMI-DVE developing both product of software development and services.
  • 12. 12 SDP process improvement may divide in CMMI- DVE into two levels, shows below in Table3: Level Continuous representation Capability levels Staged representation Maturity levels Level0 Incomplete Level1 Performed Initial Level2 Managed Manage Level3 Defined Defined Level4 Quantitatively manage Level5 Optimizing Table 4: CMMI-DVE levels [31] 5.3 ISO 9000 ISO 9000 may Describes standard to organized process to manufacture product and the method of managing and monitoring progress, ISO 9000 standard have been applied in software development such as CMMI. 5.4 ISO/IEC 15504 ISO/IEC 15504 may processes assessment as Software Process Improvement Capability Determination (SPICE), frameworks for software process assessment. This Models process to manage, 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.
  • 13. 13 What Are The Key Technical & Non-Technical Issues?  Capabilities, Standard, COSTs for technical issues.  Systemic approach, domain knowledge. 6.1 SDP software reuse SDP in software reuse with two basic types delivered in first vertical reuse into new version legacy system with same domain and system, and second type delivered existence legacy system to other domain or system. [12] 6.1.1 Vertical reuse The 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. It increases the productivity of application engineering projects through the standardization of a product family and an associated production process." [14] 6.1.2 Horizontal reuse Horizontal reuse refers software component reuse across a wide verity of application, such as Graphical 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 investments Up-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.
  • 14. 14 6.5 Pros and Cons for Software reuse. [16] Pros of software reuse Cons of Software reuse Efficiency: reduced time designing or coding Mismatch: Reuse requirement and design may not match, and Non-functional characteristics. e.g. Standardization: reuse of UI widgets in MAC OS and Win 32 lead common applications Debugging: testing design and code Expense: some components are too expensive. e.g. licenses for HTML and XML Profit: lead market of component software e.g. ActiveX components, HyperCard stacks, Java packages and software tools. Table 5: Pros and Cons Software Re-use 7 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 estimation Analogy 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]
  • 15. 15 Year Tuition, Fees, Room And Board Other expenses Total estimation 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 example 7.3 Bottom-Up estimation Bottom-Up estimation is for individual software component estimation by the person who will develop the software components; all costs are summed to arrive the total product, SDP requires more details method approached. And components estimated and combine the results of overall project. A knowledge accumulated software components and their interaction leading COCOMO details model. [30] e.g. Books: (5 courses)(2 semester)(1 book)($80) = $ 800 7.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.
  • 16. 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 more usable 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.
  • 17. 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 Multitasking SDP developed the OS’s to implements task from single task for multitasking process that allowing users to process more than one task and this will help to reduced waiting time. e.g. UNIX, Windows 2000 9.1.2 Multi-user’s SDP developing OS’s to concurrent access by multiple users of computers, network and mainframe application program. e.g. UNIX, Windows 2000 and Linux 9.1.3 Computer Hardware SDP developing the hardware functions which such as input, output and memory allocation. 9.1.4 Time sharing SDP developed OS’s multi-user system in time sharing, the time sharing interactive OS’s allowed end users for Video terminal, and programmers as following: [4]  Entrance source code using sophisticated editors
  • 18. 18  Compile the source code  Link the object code and run executable code interactively. 9.1.5 Operating System components OS’s components divided into sub-systems in accordance with functions performed. [4][14] 9.1.5.1 Process Management Process 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 exchanged information, protected recourses, creation, deletion, termination, suspension, resumption, synchronization, and communications. [9] e.g. Multiprogramming and multitasking. 9.1.5.2 Memory Management Managing 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 successors 9.1.5.3 I/O Device Management Disk management functions such as storage allocation, consists of I/O devices interfaces through buffering/caching memory. The devices will communicates with host processor through connection 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 Management A File called “logical storage unit”, the file organized directories and sub-directories.
  • 19. 19 SDP may develop OS’s responsible for creating and deleting file and directories, supporting file manipulation, mapping and back up file onto media tap and secondary storage. Table 4 contains some 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 / Security SPD may develop OS’s to protected users access, user’s processes, and accessing on applications with security policy. e.g. domain, computer systems such as Software, Hardware and Data. 9.1.5.6 Databases DBMS requires OS’s to retrieve and store database information with some peripherals users interface and interactions such as Database designers and database administrators, DBMS system support single-user and multi-users. e.g. System R and IMS 9.1.5.6.1 Hierarchal database management system HDBMS data storage is arranged in the form of parent-child relationship. This is located though roots of data tree. [10] Disadvantage: the links in roots unidirectional. 9.1.5.6.2 DBMS Crashes recovery DBMS recovery data in buffer pool manager “main memory cashes” this provided in many OS’s developed. [11]
  • 20. 20 9.1.5.6.3 Network database management system NDBMS allowed many users to access and share database located on the network, the disadvantage 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 CE 10 Software Requirement analysis and design methods 10.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
  • 21. 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 CAD system 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 create faster production materials. [21] Figure 5: Software Engineering Development
  • 22. 22 10.2 Rationale Unified Process In 1988 RUP was created; RUP is the most popular software development methodology, based on iterative life cycle model RUP included four phases: Inception, Elaboration, Construction and Transition. [1] RUP is use case driven development model and use cases described interaction between user and systems. 10.2.1 Rational developer for System Developer 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 languages SDP provide software languages with widely path in languages developer from General Language 1 up to General Language 5. 11.1 COmmon Business-Oriented Language COBOL as 3rd GL, Higher ordered language is dominated business, finance, and administrative systems for companies and governments. The COBOL 2002 standard includes support for object-oriented programming and other modern language features. 11.2 Ada / SQL In 1970 System engineering institute study issue of Ada interfaces to SQL, Ada language is separated from SQL language, with same interfaces. Here they used complier module to translated SQL language into Ada source code. DoD Software system migration plan, SDP migration plan includes appropriate software processes, methods, tools, and hardware and software platforms 12 Software Development with Object- Oriented technique OO methodology described in three processes: Object oriented Analysis (OOA), Object Oriented Designed (OOD) and Object Oriented Programming (OOP). These processes are implemented in iteratively or/and evolutionary. [28] [23]
  • 23. 23  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 Class The class definitions what operation instances the class can perform and what variable and associations the instances can have. 12.1.2 Inheritance The inheritance can be built in established classes without changed exiting classes. [3] 12.1.3 Single Inheritance OO in terms of classes hierarchy, to define verity of elements, attributes, methods, and operations. [28] OOD OOP OOA Figure 6: OO life cycle
  • 24. 24 Figure 7: Object Oriented Class[28] 12.1.4 Multiple inheritances OO in terms to have more than one superclass involved in interface inheritance or implementation Inheritance, and combinations of these. Conclusion The software development plan will defines and processes into work breakdown structure to eliminate each the software component cost estimation with capability cost estimation techniques. SDP processes model developed the complex system software such as aerospace system software through common used models in the software development plan such as waterfall model, Incremental Builds, and Evolutionary Spiral Development which explains the processes in figures 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 using international standard model involved with processes improvement such as ISO 9000, and ISO/IEC 15504. SDP reduced costs into the software reuse with specific models and methods in standard for developing, reused and migration plan for software system. Also In this paper I reviewed OS’s
  • 25. 25 component and the models which the software development plan developed OS’s in 1950s from single 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 Acronyms A Ada Syntax program word C CASE Computer Aided Software engineering CSCI Computer Software Configuration Item COBOL Common Business-Oriented Language D DBMS Database Management System G GUI Graphical User Interface H HCI Human-Computer Interaction O OO Object-Oriented OOA Object-Oriented analysis OOD Object-Oriented designed OOP Object-Oriented Programming OS’s Operating Systems R RUP Rational Unified Process SDR System Design review SRR Software Requirements Review SDP Software Development Plan SDLC Software Development life cycle SQL Structured Query Language W WSB Work Breakdown Structure
  • 26. 26 P PDR Preliminary Design Review N NDBMS Network Database Management System References [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_s ummary_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 Computer Science and Information Systems, University of Nebraska at Kearney Operating System Concepts 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 of California, Berkeley - http://books.google.com.sa/books?id=7a48qSMuVcUC&printsec=frontcover&source=gbs_ge_s ummary_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 Process Guidebook 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
  • 27. 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: Systems Engineering 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.3 http://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 Fuzzy Optimization. [31] SDP – DI-IPSC-81427A [31] CMMISM for Systems Engineering/Software Engineering, Version 1.02 (CMMI-SE/SW, V1.02).