\documentclass[11pt,twoside]{article}\makeatletter

\IfFileExists{xcolor.sty}%
  {\RequirePackage{xcolor}}%
  {\RequirePackage{color}}
\usepackage{colortbl}
\usepackage{wrapfig}
\usepackage{ifxetex}
\ifxetex
  \usepackage{fontspec}
  \usepackage{xunicode}
  \catcode`⃥=\active \def⃥{\textbackslash}
  \catcode`❴=\active \def❴{\{}
  \catcode`❵=\active \def❵{\}}
  \def\textJapanese{\fontspec{Noto Sans CJK JP}}
  \def\textChinese{\fontspec{Noto Sans CJK SC}}
  \def\textKorean{\fontspec{Noto Sans CJK KR}}
  \setmonofont{DejaVu Sans Mono}
  
\else
  \IfFileExists{utf8x.def}%
   {\usepackage[utf8x]{inputenc}
      \PrerenderUnicode{–}
    }%
   {\usepackage[utf8]{inputenc}}
  \usepackage[english]{babel}
  \usepackage[T1]{fontenc}
  \usepackage{float}
  \usepackage[]{ucs}
  \uc@dclc{8421}{default}{\textbackslash }
  \uc@dclc{10100}{default}{\{}
  \uc@dclc{10101}{default}{\}}
  \uc@dclc{8491}{default}{\AA{}}
  \uc@dclc{8239}{default}{\,}
  \uc@dclc{20154}{default}{ }
  \uc@dclc{10148}{default}{>}
  \def\textschwa{\rotatebox{-90}{e}}
  \def\textJapanese{}
  \def\textChinese{}
  \IfFileExists{tipa.sty}{\usepackage{tipa}}{}
\fi
\def\exampleFont{\ttfamily\small}
\DeclareTextSymbol{\textpi}{OML}{25}
\usepackage{relsize}
\RequirePackage{array}
\def\@testpach{\@chclass
 \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
  \ifnum \@lastchclass=7 5 \else
   \ifnum \@lastchclass=8 \tw@ \else
    \ifnum \@lastchclass=9 \thr@@
   \else \z@
   \ifnum \@lastchclass = 10 \else
   \edef\@nextchar{\expandafter\string\@nextchar}%
   \@chnum
   \if \@nextchar c\z@ \else
    \if \@nextchar l\@ne \else
     \if \@nextchar r\tw@ \else
   \z@ \@chclass
   \if\@nextchar |\@ne \else
    \if \@nextchar !6 \else
     \if \@nextchar @7 \else
      \if \@nextchar (8 \else
       \if \@nextchar )9 \else
  10
  \@chnum
  \if \@nextchar m\thr@@\else
   \if \@nextchar p4 \else
    \if \@nextchar b5 \else
   \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
   \fi \fi  \fi  \fi  \fi  \fi  \fi \fi \fi \fi \fi \fi}
\gdef\arraybackslash{\let\\=\@arraycr}
\def\@textsubscript#1{{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\def\abbr{}
\def\corr{}
\def\expan{}
\def\gap{}
\def\orig{}
\def\reg{}
\def\ref{}
\def\sic{}
\def\persName{}\def\name{}
\def\placeName{}
\def\orgName{}
\def\textcal#1{{\fontspec{Lucida Calligraphy}#1}}
\def\textgothic#1{{\fontspec{Lucida Blackletter}#1}}
\def\textlarge#1{{\large #1}}
\def\textoverbar#1{\ensuremath{\overline{#1}}}
\def\textquoted#1{‘#1’}
\def\textsmall#1{{\small #1}}
\def\textsubscript#1{\@textsubscript{\selectfont#1}}
\def\textxi{\ensuremath{\xi}}
\def\titlem{\itshape}
\newenvironment{biblfree}{}{\ifvmode\par\fi }
\newenvironment{bibl}{}{}
\newenvironment{byline}{\vskip6pt\itshape\fontsize{16pt}{18pt}\selectfont}{\par }
\newenvironment{citbibl}{}{\ifvmode\par\fi }
\newenvironment{docAuthor}{\ifvmode\vskip4pt\fontsize{16pt}{18pt}\selectfont\fi\itshape}{\ifvmode\par\fi }
\newenvironment{docDate}{}{\ifvmode\par\fi }
\newenvironment{docImprint}{\vskip 6pt}{\ifvmode\par\fi }
\newenvironment{docTitle}{\vskip6pt\bfseries\fontsize{22pt}{25pt}\selectfont}{\par }
\newenvironment{msHead}{\vskip 6pt}{\par}
\newenvironment{msItem}{\vskip 6pt}{\par}
\newenvironment{rubric}{}{}
\newenvironment{titlePart}{}{\par }

\newcolumntype{L}[1]{){\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{){\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{){\raggedleft\arraybackslash}p{#1}}
\newcolumntype{P}[1]{){\arraybackslash}p{#1}}
\newcolumntype{B}[1]{){\arraybackslash}b{#1}}
\newcolumntype{M}[1]{){\arraybackslash}m{#1}}
\definecolor{label}{gray}{0.75}
\def\unusedattribute#1{\sout{\textcolor{label}{#1}}}
\DeclareRobustCommand*{\xref}{\hyper@normalise\xref@}
\def\xref@#1#2{\hyper@linkurl{#2}{#1}}
\begingroup
\catcode`\_=\active
\gdef_#1{\ensuremath{\sb{\mathrm{#1}}}}
\endgroup
\mathcode`\_=\string"8000
\catcode`\_=12\relax

\usepackage[a4paper,twoside,lmargin=1in,rmargin=1in,tmargin=1in,bmargin=1in,marginparwidth=0.75in]{geometry}
\usepackage{framed}

\definecolor{shadecolor}{gray}{0.95}
\usepackage{longtable}
\usepackage[normalem]{ulem}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{marginnote}

\renewcommand{\@cite}[1]{#1}


\renewcommand*{\marginfont}{\itshape\footnotesize}

\def\Gin@extensions{.pdf,.png,.jpg,.mps,.tif}

  \pagestyle{fancy}

\usepackage[pdftitle={Design Complexity for Objective Function Points},
 pdfauthor={}]{hyperref}
\hyperbaseurl{}

	 \paperwidth210mm
	 \paperheight297mm
              
\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{3}
\clubpenalty=8000
\emergencystretch 3em
\hbadness=4000
\hyphenpenalty=400
\pretolerance=750
\tolerance=2000
\vbadness=4000
\widowpenalty=10000

\renewcommand\section{\@startsection {section}{1}{\z@}%
     {-1.75ex \@plus -0.5ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
     {-1.75ex\@plus -0.5ex \@minus- .2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
     {-1.5ex\@plus -0.35ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\large}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
     {-1ex \@plus-0.35ex \@minus -0.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\normalsize}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
     {1.5ex \@plus1ex \@minus .2ex}%
     {-1em}%
     {\reset@font\normalsize\bfseries}}


\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt}
 \@tempdima 1.5em \begingroup
 \parindent \z@ \rightskip \@pnumwidth 
 \parfillskip -\@pnumwidth 
 \bfseries \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}\par
 \endgroup}
\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
\@ifundefined{c@section}{\newcounter{section}}{}
\@ifundefined{c@chapter}{\newcounter{chapter}}{}
\newif\if@mainmatter 
\@mainmattertrue
\def\chaptername{Chapter}
\def\frontmatter{%
  \pagenumbering{roman}
  \def\thechapter{\@roman\c@chapter}
  \def\theHchapter{\roman{chapter}}
  \def\thesection{\@roman\c@section}
  \def\theHsection{\roman{section}}
  \def\@chapapp{}%
}
\def\mainmatter{%
  \cleardoublepage
  \def\thechapter{\@arabic\c@chapter}
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \pagenumbering{arabic}
  \setcounter{secnumdepth}{6}
  \def\@chapapp{\chaptername}%
  \def\theHchapter{\arabic{chapter}}
  \def\thesection{\@arabic\c@section}
  \def\theHsection{\arabic{section}}
}
\def\backmatter{%
  \cleardoublepage
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \setcounter{secnumdepth}{2}
  \def\@chapapp{\appendixname}%
  \def\thechapter{\@Alph\c@chapter}
  \def\theHchapter{\Alph{chapter}}
  \appendix
}
\newenvironment{bibitemlist}[1]{%
   \list{\@biblabel{\@arabic\c@enumiv}}%
       {\settowidth\labelwidth{\@biblabel{#1}}%
        \leftmargin\labelwidth
        \advance\leftmargin\labelsep
        \@openbib@code
        \usecounter{enumiv}%
        \let\p@enumiv\@empty
        \renewcommand\theenumiv{\@arabic\c@enumiv}%
	}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty \clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m}%
  {\def\@noitemerr
    {\@latex@warning{Empty `bibitemlist' environment}}%
    \endlist}

\def\tableofcontents{\section*{\contentsname}\@starttoc{toc}}
\parskip0pt
\parindent1em
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\newenvironment{reflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemsep}{0pt}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\itshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{sansreflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\itemsep}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\upshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{specHead}[2]%
 {\vspace{20pt}\hrule\vspace{10pt}%
  \phantomsection\label{#1}\markright{#2}%

  \pdfbookmark[2]{#2}{#1}%
  \hspace{-0.75in}{\bfseries\fontsize{16pt}{18pt}\selectfont#2}%
  }{}
      \def\TheFullDate{2020-01-15 (revised: 15 January 2020)}
\def\TheID{\makeatother }
\def\TheDate{2020-01-15}
\title{Design Complexity for Objective Function Points}
\author{}\makeatletter 
\makeatletter
\newcommand*{\cleartoleftpage}{%
  \clearpage
    \if@twoside
    \ifodd\c@page
      \hbox{}\newpage
      \if@twocolumn
        \hbox{}\newpage
      \fi
    \fi
  \fi
}
\makeatother
\makeatletter
\thispagestyle{empty}
\markright{\@title}\markboth{\@title}{\@author}
\renewcommand\small{\@setfontsize\small{9pt}{11pt}\abovedisplayskip 8.5\p@ plus3\p@ minus4\p@
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus2\p@
\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@
\def\@listi{\leftmargin\leftmargini
               \topsep 2\p@ plus1\p@ minus1\p@
               \parsep 2\p@ plus\p@ minus\p@
               \itemsep 1pt}
}
\makeatother
\fvset{frame=single,numberblanklines=false,xleftmargin=5mm,xrightmargin=5mm}
\fancyhf{} 
\setlength{\headheight}{14pt}
\fancyhead[LE]{\bfseries\leftmark} 
\fancyhead[RO]{\bfseries\rightmark} 
\fancyfoot[RO]{}
\fancyfoot[CO]{\thepage}
\fancyfoot[LO]{\TheID}
\fancyfoot[LE]{}
\fancyfoot[CE]{\thepage}
\fancyfoot[RE]{\TheID}
\hypersetup{citebordercolor=0.75 0.75 0.75,linkbordercolor=0.75 0.75 0.75,urlbordercolor=0.75 0.75 0.75,bookmarksnumbered=true}
\fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrulewidth}{0pt}}

\date{}
\usepackage{authblk}

\providecommand{\keywords}[1]
{
\footnotesize
  \textbf{\textit{Index terms---}} #1
}

\usepackage{graphicx,xcolor}
\definecolor{GJBlue}{HTML}{273B81}
\definecolor{GJLightBlue}{HTML}{0A9DD9}
\definecolor{GJMediumGrey}{HTML}{6D6E70}
\definecolor{GJLightGrey}{HTML}{929497} 

\renewenvironment{abstract}{%
   \setlength{\parindent}{0pt}\raggedright
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
   \textcolor{GJBlue}{\large\bfseries\abstractname\space}
}{%   
   \vskip8pt
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
}

\usepackage[absolute,overlay]{textpos}

\makeatother 
      \usepackage{lineno}
      \linenumbers
      
\begin{document}

             \author[1]{Paul  Cymerman}

             \author[2]{Joe Van  Dyke}

             \author[3]{Ian  Brown}

\renewcommand\Authands{ and }

\date{\small \em Received: 7 December 2019 Accepted: 5 January 2020 Published: 15 January 2020}

\maketitle


\begin{abstract}
        


This paper investigates correlating the basic elements of Unified Modeling Language and Cyclomatic Complexity with Function Point Analysis (FPA) principles to develop an automated software functional sizing tool. This concept has been difficult to achieve due to the logical nature of the FPA sizing methodology versus the physical nature of source lines of code (SLOC). In this approach, we examine software complexity from design and maintainability perspectives in order to understand relationships in physical code. Our hypothesis is that this method will ?simulate? FPA principles and produce an objective sizing method. This would provide the foundation for an automated tool that scans physical software code to derive ?Objective Function Points? (OFPs) functional size measure

\end{abstract}


\keywords{}

\begin{textblock*}{18cm}(1cm,1cm) % {block width} (coords) 
\textcolor{GJBlue}{\LARGE Global Journals \LaTeX\ JournalKaleidoscope\texttrademark}
\end{textblock*}

\begin{textblock*}{18cm}(1.4cm,1.5cm) % {block width} (coords) 
\textcolor{GJBlue}{\footnotesize \\ Artificial Intelligence formulated this projection for compatibility purposes from the original article published at Global Journals. However, this technology is currently in beta. \emph{Therefore, kindly ignore odd layouts, missed formulae, text, tables, or figures.}}
\end{textblock*}


\let\tabcellsep& 	 	 		 
\section[{Design Complexity for Objective Function Points}]{Design Complexity for Objective Function Points}\par
Paul Cymerman ? , Joe Van Dyke ? \& Ian Brown ? Abstract-This paper investigates correlating the basic elements of Unified Modeling Language and Cyclomatic Complexity with Function Point Analysis (FPA) principles to develop an automated software functional sizing tool. This concept has been difficult to achieve due to the logical nature of the FPA sizing methodology versus the physical nature of source lines of code (SLOC). In this approach, we examine software complexity from design and maintainability perspectives in order to understand relationships in physical code. Our hypothesis is that this method will "simulate" FPA principles and produce an objective sizing method. This would provide the foundation for an automated tool that scans physical software code to derive "Objective Function Points" (OFPs) functional size measure. 
\section[{I.}]{I.} 
\section[{Unified Modeling Language Background}]{Unified Modeling Language Background}\par
e investigated using Unified Modeling Language (UML) \hyperref[b0]{[1]} to map to Function Points (FPs) \hyperref[b1]{[2]}. Developed to provide a common language for object-oriented modeling, UML was designed to be extensible in order to satisfy a wide variety of software engineering needs. Like FPs, it was also intended to be independent of any specific programming languages or development methods. \hyperref[b2]{[3]} Graphical notation represents the UML syntax. UML is defined by the following three categories:\par
? Static structure diagrams: Describe the structure of a system and include class and object diagrams. ? Behavior diagrams: Describe the behavior /dynamic perspective of a system and include use-case diagrams, interaction diagrams, sequence diagrams, collaborations diagrams, state diagrams and activity diagrams.\par
? Implementation diagrams: Provide actual source code information including component diagrams and deployment diagrams.\par
Class diagrams describe the static structure of the model that is objects, classes and relationships between these entities which include generalization and aggregation. They also represent the attributes and operations of the classes.\par
In order to apply FP concepts in a UML context, we had to translate between the two. To simplify FP terms and definitions into sizing measures that can be easily calculated using a tool, the OFP translation is included in BLUE.\par
Record Element Type: Most RETs are dependent on a parent -child relationship. In this case, the child information is a superset where a child class/object inherits all attributes and methods of the parent information. In a parent-child structure, there are one-to-many relationships that define the nature of the connection between attributes within entities \hyperref[b3]{[4]}. 
\section[{RET \textasciitilde  INHERITANCE}]{RET \textasciitilde  INHERITANCE}\par
File Type Referenced: Associations between files provide mapping of maintained files by the application \hyperref[b3]{[4]} FTR \textasciitilde  ASSOCIATION Data Element Type: UML attributes provide a good indication as to what DETs should be counted in FPA \hyperref[b3]{[4]}.\par
DET \textasciitilde  ATTRIBUTES 
\section[{II.}]{II.}\par
What is Cyclomatic Complexity?\par
Cyclomatic Complexity (CC) is a software metric used as a limiting function for measuring the complexity of routines during program development. When the CC of the module exceeds 10 \hyperref[b4]{[5]}, modules are split into smaller modules.\par
CC is one measure of complexity in software development. This complexity is specific to the ongoing development of routines during overall program development. McCabe references this as Design Complexity (DC) of the Module. It does not address architectural complexity of software design. That would be called the DC of the architecture. The more interactions between objects and the more associations between classes there are, the higher will be the complexity. Both the abstract level of the class as well as the physical level of the objects are taken into consideration. \hyperref[b5]{[6]} The following statements from Richard Seidl captures the following rational behind DC:\par
"UML Design Complexity metrics can be defined as the relationship of entities to relationships. The size of a set is determined by the number of elements in that set. The complexity of a set is a question of the number of relationships between the elements of that set. The more connections or dependencies there are relative to the number of elements, the greater the complexity." \hyperref[b5]{[6]} "The more interactions and associations there are between objects and classes, the greater the dependency of those objects and classes upon one another. This mutual dependency is referred to a coupling. Classes with a high coupling have greater domain impacts" \hyperref[b5]{[6]} III. 
\section[{What is Architecture Design Complexity (dc)?}]{What is Architecture Design Complexity (dc)?}\par
This DC is a software metric used to understand the Architecture Design -not just for a specific module, but also between modules. This focuses on the Class (a.k.a. Module), Methods (a.k.a. Functions) and Attributes.\par
A class is a set of objects that have common structure and behavior. A class consists of a collection of states (a.k.a. attributes or properties) and behaviors (a.k.a. methods). A class represents the abstract matrix of an object before it's instantiated, where an object is an instance of a class.\par
A method is an operation, which can update the value of the certain attributes of an object.\par
An attribute is an observable property of the objects of a class.\par
The overall Architecture Design considers the additional relationships:\par
Association is a relationship between classes which is used to show that instances of classes could be either linked to each other or combined logically or physically through a semantic relationship Inheritance is a form of Association and a feature of object-oriented programming that allows code reusability when a class includes property of another class. 
\section[{IV. Deriving Design Complexity of the Architecture}]{IV. Deriving Design Complexity of the Architecture}\par
The elementary variables in functions above are designated as DET. The functional complexity is estimated as the total number of user-identifiable groups that exists within DETs and is termed as RET in Data Functions and all referenced file types are counted as FTR in Transactions Functions. A corresponding matrix holds the reference function point values for all function types namely the ILF, EIF, EI, EO and EQ, with respect to the range of DET and RET/FTR in each function. The total sum of the high, medium and low count of all operations is the unadjusted function point count.\par
The goal is to extract the DC from the complexity fundamentally imbedded in these original relationships. This starts with A.J. Albrecht's original Function Point calculations. There are 3 curves, figure \hyperref[fig_0]{1}, that show how the FPs are calculated based on some level of complexity. Mapping the Function Types to Figure \hyperref[fig_0]{1}, we take the "EI" table and map to the complexity value of "1" on the graph. The "EO and EQ" maps to the complexity value of 2. "EIF" maps to a complexity value of 3 and "ILF" maps to a complexity value of 4.   
\section[{Deriving Design Complexity as a}]{Deriving Design Complexity as a}\par
Function of Inheritance, Associations and Attributes Referencing Albrecht's original complexity tables regarding DETs, RETs and FTRs, we can substitute Inheritance for RETs; Associations for FTRs and Attributes for DETs to come up with the following table. To focus on Inheritances, Associations, and Attributes, we are moving from RET, FTR, DET categories to Inheritance, Association, and Attributes categories. For Inheritance and Associations, we need to consider cases where there are values of "0" so we need to adjust the information as follows:Category Low Avg High Inheritance 0 1-4 >4 Associations 0-1 2 >2 Attributes 1-19 20-50 >50\par
The next step is to transform this table into equations. Starting with the Inheritance category, the first row of the table, if we curve fit the values for Inheritance, we will see that the curve, when Inheritance = 0, we intentionally shift the value by 1. Thus, the Xaxis is based by Inheritance+1. This technique avoids dealing with a value of 0 which provides a better fit regression curve. When the value on Y-axis is 2 and Inheritance+1 = 1, this translates to LOW complexity.\par
When Inheritance+1 is ranges 2 to 5, the Y-axis is greater than 2 and less than or equal to 3. This translates to AVG. When X-axis is greater than 5, the Yaxis is greater than 3 which translates into HIGH.\par
Next we model the Associations category. From Function Point Theory, FTRs are scaled a lot lower than what is seen in today's coding with respect to Associations even though they are similar. One large program shows an average of 2.5 associations, but can range up to 188. This is very common in development and is a result of improved coding practices since 1979 when FPs were first developed. When the value on Yaxis is 1.5 and Association+1 = 1, this translates to LOW complexity. When Association+1 is ranges 2 to 5, the Y-axis is greater than 2 and less than or equal to 3. This translates to AVG. When X-axis is greater than 5, the Y-axis is greater than 3 which translates into HIGH.\par
Drawing To understand the response of the DC equation, we calculated every case within a reasonable range.\par
By producing all these cases, we can isolate when Design Complexities change in value. We observe a pattern that can be expressed through regression. This regression analysis will provide the bounding limits for Low, Avg and High DC. 
\section[{VII. Determining the Missing Data for Calculating Design Complexity Values}]{VII. Determining the Missing Data for Calculating Design Complexity Values}\par
We need to transform the matrix to have Attributes inside, Inheritance going across, and the Associations going down. This produces curves showing Attributes as a function of Inheritances. Each curve is phase-shifted due to their dependence on Associations.\par
Let's focus on the first Attribute Limit equation where the DC = 2 and the Association = 0: ? Attribute\textunderscore Limit = 27.9 * (Inheritance + 1) \textasciicircum  -0.701 o When Inheritance + 1 = 1, the Attribute\textunderscore Limit = 28.0 o When Inheritance + 1 = 2, the Attribute\textunderscore Limit = 17.0 o When Inheritance + 1 = 3, the Attribute\textunderscore Limit = 13.0\par
Note that 27.9 is the First Term and -0.701 is the Second Term.\par
We now need to estimate the First and Second Terms as a function of DC using regression   We now can simplify to a table that provides the OFPs in a simple form: Note that for DC = 0, we needed to minimize the weighting to reflect cases where the design is simplistic in nature. It made little sense to apply a weighting of 3 to a design that had zero Inheritance, zero Associations and zero Attributes. To account for someone thinking of implementing this design, we choose a value of 1 Function Point and went from there using CC.\par
X. 
\section[{Summary}]{Summary}\par
This methodology successfully creates a new and simple OFP table that is dependent on CC and DC. We extracted a DC that captures interface relationships based on inheritances, associations and attributes in the actual code. This DC is based on Albrecht's original analysis where DC was a factor but never exclusively identified. This new table is independent of transactional and database qualifiers. Next steps are to incorporate this methodology into an automated Function Point counter that reads actual source code to extract UML definition such as inheritances, associations and attributes to derive the OFPs. This effort is being implemented into the Objective Function Point counter that will reside in the Unified Code Counter Govt (UCC-G) version and the University of Southern California (USC) Unified Code Counter Java version (UCC-J).\begin{figure}[htbp]
\noindent\textbf{1}\includegraphics[]{image-2.png}
\caption{\label{fig_0}Figure 1 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{123}\includegraphics[]{image-3.png}
\caption{\label{fig_1}Hypothesis 1 :Figure 2 :Figure 3 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{4}\includegraphics[]{image-4.png}
\caption{\label{fig_2}Figure 4 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-5.png}
\caption{\label{fig_3}}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{5}\includegraphics[]{image-6.png}
\caption{\label{fig_4}Figure 5 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{6}\includegraphics[]{image-7.png}
\caption{\label{fig_5}Figure 6 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{7133}\includegraphics[]{image-8.png}
\caption{\label{fig_6}Figure 7 : 1 ? 3 ? 3 For?}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-9.png}
\caption{\label{fig_7}o}\end{figure}
 			\footnote{© 2020 Global Journals} 			\footnote{© 2020 Global Journals Design Complexity for Objective Function Points} 		 		\backmatter  			  				\begin{bibitemlist}{1}
\bibitem[Albrecht ()]{b1}\label{b1} 	 		‘Function Point Analysis’.  		 			A J Albrecht 		.  	 	 		\textit{Encyclopedia of Software Engineering}  		1994. John Wiley \& Sons. 1.  	 
\bibitem[Uemura et al. (1999)]{b2}\label{b2} 	 		\textit{Function Point Measurement Tool for UML Design Specification},  		 			T Uemura 		,  		 			S Kusumoto 		,  		 			K Inoue 		.  		Nov 1999. Osaka Japan.  	 
\bibitem[Seidl ()]{b5}\label{b5} 	 		\textit{Modeling Metrics for UML Diagrams},  		 			Richard Seidl 		.  		2010.  	 
\bibitem[Mccabe ()]{b4}\label{b4} 	 		\textit{NIST Special Publication 500-235},  		 			T Mccabe 		.  		1996.  	 
\bibitem[Rational, UML, 1.1 Notation Guide, Rational Software ()]{b0}\label{b0} 	 		\textit{Rational, UML, 1.1 Notation Guide, Rational Software},  		1997.  	 
\bibitem[Brown ()]{b3}\label{b3} 	 		\textit{Using Entity Relationship Diagrams to Count Data Functions},  		 			I Brown 		.  		2007.  	 
\end{bibitemlist}
 			 		 	 
\end{document}
