Ramadan Databased Software Engineering
Databased
Software Engineering
An Attempt to Standardize Software Process
Mohammad Anas Ramadan
The Arab Academy for Banking and Financial Sciences
anas@richstyle.org
Supervised by: Dr. Bassam Kurdy
2010-06-27
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
ABSTRACT
According to ISO, in order to produce a high quality product, organization need a high quality producing process,
which means a well defined and organized process. Generally speaking, this is true in variant industries, but not in
software industry, since production process in software industry is a creative process, not an industrial process, so
that one can't imagine that there are a list of input items from one side, that could produce a software product out of
the other one, automatically, without any human factor involvement.
Software Engineering tries to convert software process from a creative process to an industrial process.
As a solution, an ISO-alternative standard emerged for software industry, called CMM, developed by Carnegie
Mellon Software Engineering Institute (SEI). Later on it has developed and expanded its scope and cover other
industries, it is called now CMMI.
Since 1987, when CMM emerged, CMM/CMMI has been always focusing on documentation. The reason is that
organization doesn’t have an automated process, so, all it can do is to organize process using documents.
In fact, as one can see, CMM emerged before web era; the era in which database systems weren’t mature enough
and used widely like nowadays, client/server architecture wasn't common in business world. That's why
CMM/CMMI was always focusing on something called documents.
The objective of this paper is to build a software process using database, rather than documenting a software
process using documents.
Keywords
Software Engineering, Software Process, ISO, CMMI, UML, XML, HTML, XHTML, CSS, RichStyle, PAD file,
ASP, Debian, Debian Package, DEB.
METHEODOLOGY
Modeling configuration management process area in a database model using UML.
Business Case: The Association of Software Professionals (ASP), which provide a standard XML-based file called
PAD file, the Portable Application Description. ASP represents the best practice in software industry regarding
software publishing.
Also I’ll compare this standard with Debian control file, the file that is stored in the Debian package file (DEB).
Debian package system represents also the best practice in open source community regarding software publishing,
and Debian and Dabian-based Linux distributions are the most popular distributions in open source community
according to DistroWatch.com
REFERENCES
 CMMI Product Team, CMMI for Development v1.2, Carnegie Mellon Software Engineering Institute (SEI),
2006
 Sommarville I, Software Engineering 8e, Addison Wesley, 2007
 Turban E, Electronic Commerce, Prentice Hall, 2006
 Cadle & Yeates, Project Management for Information Systems 4e, Prentice Hall, 2004
 Deek & McHugh Eljabiri, Strategic Software Engineering, Auerbach Publications, 2005
 Thomas K, Beginning Ubuntu Linux 2e, Apress, 2007
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
INTRODUCTION
The following table illustrates the main CMMI concepts, including Process Areas, Capability Levels and Maturity
Levels, and the relationship between each other.
Capability Levels
Are the objectives of the given Process Area:
Process Area 0- Incomplete 1- Performed 2- Managed 3- Defined
4-
Quantitatively
Managed
5- Optimized
ProcessManagement
Organizational Process Definition+IPPD
Organizational Process Focus
Organizational Training
Organizational Process Performance
Organizational Innovation and Deployment
ProjectManagement
Project Planning
Project Monitoring and Control
Supplier Agreement Management
Integrated Project Management +IPPD
Risk Management
Quantitative Project Management
Engineering
Requirements Management
Technical Solution
Product Integration
Verification
Validation
Requirements Development
Support
Configuration Management
Process and Product Quality Assurance
Measurement and Analysis
Decision Analysis and Resolution
Causal Analysis and Resolution
Maturity Levels
Are the objectives of the whole Process Areas:
1- Initial 2- Managed 3- Defined
4-
Quantitatively
Managed
5- Optimized
Maturity Levels
---------------------------- Time ----------------------------------»
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
A COMPARISON BETWEEN PAD FILE AND DEBIAN CONTROL FILE
Those two standard files represent the best practice in commercial software industry and open source community,
regarding software publishing.
PAD file structure
Debian Control file structure
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
Although The PAD file is richer than the Debian Control file, the Debian Control File is used for functional
purposes, rather than providing metadata about the software package. It provides dependency check function to
ensure the compatibility of the package with the target platform.
PAD file Debian Control file Suggested Modifications
Company Info
Company_Name
Address_1
Address_2
City_Town
Country
Company_WebSite_URL
Contact Info
Author_First_Name
Author_Last_Name
Author_Email Original-Maintainer
Contact_First_Name
Contact_Last_Name
Contact_Email Maintainer
Support Info
Sales_Email
Support_Email
General_Email
Sales_Phone
Support_Phone
General_Phone
Fax_Phone
Program Info
Program_Name Package
Program_Version Version
Program_Release_Month
Program_Release_Day
Program_Release_Year
Program_Type Section
Program_Release_Status
Program_Install_Support
Program_OS_Support
Program_Language
Program_Change_Info Mods, Fixes, and FAQs
Program_Specific_Category
Program_Category_Class
Program_System_Requirements Depends Software
Architecture
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
Installed-Size Free_Space, RAM
File Info
File_Size_Bytes
File_Size_K
File_Size_MB
Expire Info
Has_Expire_Info
Expire_Count
Expire_Based_On
Expire_Other_Info
Expire_Month
Expire_Day
Expire_Year
Program Description
Keywords
Char_Desc_45 Description
Char_Desc_80
Char_Desc_250
Char_Desc_450
Char_Desc_2000
Permissions
Distribution_Permissions
EULA
Application_URLs
Application_Info_URL Homepage
Application_Order_URL
Application_Screenshot_URL
Application_Icon_URL
Application_XML_File_URL
Download_URLs
Primary_Download_URL Section
Secondary_Download_URL
Additional_Download_URL_1
Additional_Download_URL_2
Priority
Recommends
Suggests
Conflicts
Replaces
Provides
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
THE USER INTERFACE
Technically speaking, how can one generate well organized documents out of the software process database? In
another word, how can one generate well organized documents out of a web-based application?
Actually, web page usually differs from document in two main aspects:
 It contains interface elements, like banner, footer, and menus.
 Content area is usually dealt as either plain text, or messy rich text, making it misses balance between
richness and consistency.
Content area as a plain text
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
Content area as a rich text
RichStyle in printing mode
CSS specifications allow web developer to build more than one kind of layout template for a web page, depending
on the used media, i.e. one for the screen, and another one for printing media (paper).
As an implantation solution, RichStyle©
library offers:
 Two layout templates for a web page, one for screen, and another one for print, so that Interface elements
will not appear in printing media (paper).
 Content area maintain the balance between richness and consistency.
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
 No classes as much as possible, HTML tags should be enough.
 No attributes as much as possible, unless it represents content, not format instruction, i.e. the source of
an image, or the destination of a link.
The only limitation in CSS comparing to documents is customizability in page headers and footers.
The Arab Academy for Banking and Financial Sciences (aabfs.org)
Ramadan Databased Software Engineering
CSS SUPPORT LEVELS 1
The flowing chart illustrate the extent of CSS 2.1 and 3 support in most popular web browsers. It’s derived from a
data available in an article in Wikipedia titled Comparison of Layout Engines (Cascading Style Sheets), considering
that this article is:
 Not all-inclusive or necessarily up-to-date.
 Unless otherwise specified in the article’s footnotes, comparisons are based on the stable versions without
any add-ons, extensions or external programs.
This chart supposes that:
 "No" and "Incorrect" values indicate “Not Supported”, whilst the rest values are considered as "Supported".
 The source data covers only CSS properties and CSS selectors.
1
Wikipedia.org, Comparison of Layout Engines (Cascading Style Sheets),
http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Cascading_Style_Sheets)
The Arab Academy for Banking and Financial Sciences (aabfs.org)

Databased Software Engineering

  • 1.
    Ramadan Databased SoftwareEngineering Databased Software Engineering An Attempt to Standardize Software Process Mohammad Anas Ramadan The Arab Academy for Banking and Financial Sciences anas@richstyle.org Supervised by: Dr. Bassam Kurdy 2010-06-27 The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 2.
    Ramadan Databased SoftwareEngineering ABSTRACT According to ISO, in order to produce a high quality product, organization need a high quality producing process, which means a well defined and organized process. Generally speaking, this is true in variant industries, but not in software industry, since production process in software industry is a creative process, not an industrial process, so that one can't imagine that there are a list of input items from one side, that could produce a software product out of the other one, automatically, without any human factor involvement. Software Engineering tries to convert software process from a creative process to an industrial process. As a solution, an ISO-alternative standard emerged for software industry, called CMM, developed by Carnegie Mellon Software Engineering Institute (SEI). Later on it has developed and expanded its scope and cover other industries, it is called now CMMI. Since 1987, when CMM emerged, CMM/CMMI has been always focusing on documentation. The reason is that organization doesn’t have an automated process, so, all it can do is to organize process using documents. In fact, as one can see, CMM emerged before web era; the era in which database systems weren’t mature enough and used widely like nowadays, client/server architecture wasn't common in business world. That's why CMM/CMMI was always focusing on something called documents. The objective of this paper is to build a software process using database, rather than documenting a software process using documents. Keywords Software Engineering, Software Process, ISO, CMMI, UML, XML, HTML, XHTML, CSS, RichStyle, PAD file, ASP, Debian, Debian Package, DEB. METHEODOLOGY Modeling configuration management process area in a database model using UML. Business Case: The Association of Software Professionals (ASP), which provide a standard XML-based file called PAD file, the Portable Application Description. ASP represents the best practice in software industry regarding software publishing. Also I’ll compare this standard with Debian control file, the file that is stored in the Debian package file (DEB). Debian package system represents also the best practice in open source community regarding software publishing, and Debian and Dabian-based Linux distributions are the most popular distributions in open source community according to DistroWatch.com REFERENCES  CMMI Product Team, CMMI for Development v1.2, Carnegie Mellon Software Engineering Institute (SEI), 2006  Sommarville I, Software Engineering 8e, Addison Wesley, 2007  Turban E, Electronic Commerce, Prentice Hall, 2006  Cadle & Yeates, Project Management for Information Systems 4e, Prentice Hall, 2004  Deek & McHugh Eljabiri, Strategic Software Engineering, Auerbach Publications, 2005  Thomas K, Beginning Ubuntu Linux 2e, Apress, 2007 The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 3.
    Ramadan Databased SoftwareEngineering INTRODUCTION The following table illustrates the main CMMI concepts, including Process Areas, Capability Levels and Maturity Levels, and the relationship between each other. Capability Levels Are the objectives of the given Process Area: Process Area 0- Incomplete 1- Performed 2- Managed 3- Defined 4- Quantitatively Managed 5- Optimized ProcessManagement Organizational Process Definition+IPPD Organizational Process Focus Organizational Training Organizational Process Performance Organizational Innovation and Deployment ProjectManagement Project Planning Project Monitoring and Control Supplier Agreement Management Integrated Project Management +IPPD Risk Management Quantitative Project Management Engineering Requirements Management Technical Solution Product Integration Verification Validation Requirements Development Support Configuration Management Process and Product Quality Assurance Measurement and Analysis Decision Analysis and Resolution Causal Analysis and Resolution Maturity Levels Are the objectives of the whole Process Areas: 1- Initial 2- Managed 3- Defined 4- Quantitatively Managed 5- Optimized Maturity Levels ---------------------------- Time ----------------------------------» The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 4.
    Ramadan Databased SoftwareEngineering A COMPARISON BETWEEN PAD FILE AND DEBIAN CONTROL FILE Those two standard files represent the best practice in commercial software industry and open source community, regarding software publishing. PAD file structure Debian Control file structure The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 5.
    Ramadan Databased SoftwareEngineering Although The PAD file is richer than the Debian Control file, the Debian Control File is used for functional purposes, rather than providing metadata about the software package. It provides dependency check function to ensure the compatibility of the package with the target platform. PAD file Debian Control file Suggested Modifications Company Info Company_Name Address_1 Address_2 City_Town Country Company_WebSite_URL Contact Info Author_First_Name Author_Last_Name Author_Email Original-Maintainer Contact_First_Name Contact_Last_Name Contact_Email Maintainer Support Info Sales_Email Support_Email General_Email Sales_Phone Support_Phone General_Phone Fax_Phone Program Info Program_Name Package Program_Version Version Program_Release_Month Program_Release_Day Program_Release_Year Program_Type Section Program_Release_Status Program_Install_Support Program_OS_Support Program_Language Program_Change_Info Mods, Fixes, and FAQs Program_Specific_Category Program_Category_Class Program_System_Requirements Depends Software Architecture The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 6.
    Ramadan Databased SoftwareEngineering Installed-Size Free_Space, RAM File Info File_Size_Bytes File_Size_K File_Size_MB Expire Info Has_Expire_Info Expire_Count Expire_Based_On Expire_Other_Info Expire_Month Expire_Day Expire_Year Program Description Keywords Char_Desc_45 Description Char_Desc_80 Char_Desc_250 Char_Desc_450 Char_Desc_2000 Permissions Distribution_Permissions EULA Application_URLs Application_Info_URL Homepage Application_Order_URL Application_Screenshot_URL Application_Icon_URL Application_XML_File_URL Download_URLs Primary_Download_URL Section Secondary_Download_URL Additional_Download_URL_1 Additional_Download_URL_2 Priority Recommends Suggests Conflicts Replaces Provides The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 7.
    Ramadan Databased SoftwareEngineering THE USER INTERFACE Technically speaking, how can one generate well organized documents out of the software process database? In another word, how can one generate well organized documents out of a web-based application? Actually, web page usually differs from document in two main aspects:  It contains interface elements, like banner, footer, and menus.  Content area is usually dealt as either plain text, or messy rich text, making it misses balance between richness and consistency. Content area as a plain text The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 8.
    Ramadan Databased SoftwareEngineering Content area as a rich text RichStyle in printing mode CSS specifications allow web developer to build more than one kind of layout template for a web page, depending on the used media, i.e. one for the screen, and another one for printing media (paper). As an implantation solution, RichStyle© library offers:  Two layout templates for a web page, one for screen, and another one for print, so that Interface elements will not appear in printing media (paper).  Content area maintain the balance between richness and consistency. The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 9.
    Ramadan Databased SoftwareEngineering  No classes as much as possible, HTML tags should be enough.  No attributes as much as possible, unless it represents content, not format instruction, i.e. the source of an image, or the destination of a link. The only limitation in CSS comparing to documents is customizability in page headers and footers. The Arab Academy for Banking and Financial Sciences (aabfs.org)
  • 10.
    Ramadan Databased SoftwareEngineering CSS SUPPORT LEVELS 1 The flowing chart illustrate the extent of CSS 2.1 and 3 support in most popular web browsers. It’s derived from a data available in an article in Wikipedia titled Comparison of Layout Engines (Cascading Style Sheets), considering that this article is:  Not all-inclusive or necessarily up-to-date.  Unless otherwise specified in the article’s footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs. This chart supposes that:  "No" and "Incorrect" values indicate “Not Supported”, whilst the rest values are considered as "Supported".  The source data covers only CSS properties and CSS selectors. 1 Wikipedia.org, Comparison of Layout Engines (Cascading Style Sheets), http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Cascading_Style_Sheets) The Arab Academy for Banking and Financial Sciences (aabfs.org)