software development plans

27
1 Software Development Plans Just What Are They Good For? BY: AHMED S. ALQAHTANI SESO SU12

Upload: ahmed-s-al-qahtani

Post on 10-May-2015

1.163 views

Category:

Technology


0 download

DESCRIPTION

Software Development Plans What are they good for?

TRANSCRIPT

Page 1: Software Development Plans

1

Software Development Plans Just What Are They Good For?

BY: AHMED S. ALQAHTANI

SESO – SU12

Page 2: Software Development Plans

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

Page 3: Software Development Plans

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

Page 4: Software Development Plans

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

Page 5: Software Development Plans

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]

Page 6: Software Development Plans

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

Page 7: Software Development Plans

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

Page 8: Software Development Plans

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.

Page 9: Software Development Plans

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

Page 10: Software Development Plans

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]

Page 11: Software Development Plans

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.

Page 12: Software Development Plans

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.

Page 13: Software Development Plans

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.

Page 14: Software Development Plans

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]

Page 15: Software Development Plans

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.

Page 16: Software Development Plans

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.

Page 17: Software Development Plans

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

Page 18: Software Development Plans

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.

Page 19: Software Development Plans

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]

Page 20: Software Development Plans

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

Page 21: Software Development Plans

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

Page 22: Software Development Plans

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]

Page 23: Software Development Plans

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

Page 24: Software Development Plans

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

Page 25: Software Development Plans

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

Page 26: Software Development Plans

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

Page 27: Software Development Plans

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).