\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={System Design Principles -Reuse: Online Attendance System},
 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{2012-01-15 (revised: 15 January 2012)}
\def\TheID{\makeatother }
\def\TheDate{2012-01-15}
\title{System Design Principles -Reuse: Online Attendance System}
\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]{Dr.  CH.V.M.K.Hari}

             \author[2]{Dr.  CH.V.M.K.Hari}

             \author[3]{K S V Krishna  Srikanth}

             \affil[1]{  GITAM University}

\renewcommand\Authands{ and }

\date{\small \em Received: 10 December 2011 Accepted: 2 January 2012 Published: 15 January 2012}

\maketitle


\begin{abstract}
        


Software engineering is an engineering approach for software development. In order to develop large software several phases has to be followed by the developer to achieve good quality software; cost effectively. System Design is the most important activity in software development which reflects reusability. System Design specifies what a new or modified system is going to do. To achieve good quality software, the primary characteristics of neat module decomposition are low coupling {data coupling}, high cohesion {functional cohesion} and top-down approach has to be followed. We applied these principles on developing Online Attendance System and observed reusability of code. The system has been successfully tested in our institute. Effective design principles always lead to an effective reusability which in turn benefited with Return on Investment (ROI).

\end{abstract}


\keywords{Design, Coupling, Cohesion, Reusability, Online Attendance System.}

\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[{I. Introduction}]{I. Introduction}\par
oftware engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance and retirement of software \hyperref[b0]{[1]}. The use of the term systematic approach implies that methodologies are used for developing software. Software engineering includes process, managing techniques, technical methods, and use of tools. Software engineering deals with the problem of developing 'large' software. Software engineering helps to reduce the programming complexity. Software engineering principles or methodologies use two important techniques \hyperref[b0]{(1)} abstraction and (2) decomposition to reduce problem complexity. The principle of abstraction implies that a problem can be simplified by omitting irrelevant details.\par
The principle of decomposition states that a complex problem is divided into several smaller problems and then smaller problems are solved one by one.\par
The goal of software engineering is to develop high quality software with low cost i.e., within time and budget constraints. New software systems are built from the old ones and all must interoperate and cooperate with each other.\par
Software is meant to solve some problem of the client (the people whose needs are to be satisfied by the software). The problem is to develop software systematically to satisfy the needs of clients \hyperref[b1]{[2]}. There are some factors for basic problem which affect the approaches selected to solve the problem and these factors are the primary forces that drive the progress and development in the field of software engineering. 
\section[{Software Development Life Cycle activities will}]{Software Development Life Cycle activities will}\par
have several stages where in one identifies the problem to be solved, develop a design, writes the code and so on. Software life cycle defines entry and exit criteria for every phase. A phase can start only if its phase-entry criteria have been satisfied. Without software life cycle it becomes difficult for software project managers to monitor the progress of the project. The software lifecycle \hyperref[b3]{[5,}\hyperref[b4]{6]} consists of: feasibility study, requirements analysis, design, construction, testing (validation), deployment and maintenance. The development process tends to run iteratively through these phases rather than linearly.\par
Upon successfully demonstrating the feasibility of a project, the requirements analysis begins. The design starts after the requirements analysis is complete, and coding begins after the design is complete. Once the programming is completed, the code is integrated and testing is done. Upon successful completion of testing, the system is installed. After this, the regular operation and maintenance of the system takes place. System Design is the process of defining architecture, modules, interfaces and data for a system to specify the requirements of proposed system. The design of a system is essentially a blueprint or a plan for a solution for the system. It specifies what components are needed for the system, their behavior and how they should be interconnected \hyperref[b1]{[2,}\hyperref[b2]{3]}. The design activity begins when the SRS document is available. During design we further refine the architecture. The goal is to transform the requirements specified in the document into a structure that is suitable for implementation in some programming language.\par
Design focuses on the module view. A module of a system can be considered a system, with its own modules. A system as set of modules with defined behavior interacts with each other in a defined manner may produce some behavior or services for its environment. A good software design can be arrived infrequently by using single step procedure but rather through several iterations through a series of steps.\par
The design characteristics include the following:\par
1. Top-down approach: A top-down design approach starts by identifying the major components of the system, decomposing them into their lower-level components and iterating until the desired level of detail is achieved. A module with high cohesion and low coupling is said to be functionally independent of other modules i.e., cohesive module performs a single task or function and has minimal interaction with other modules. Functional independence is a sign to a good design as it reduces error propagation; reuse of a module becomes possible; and the complexity of the design is reduced. 
\section[{II.}]{II.} 
\section[{Proposed design principles a) Top-down Approach}]{Proposed design principles a) Top-down Approach}\par
The top-down approach starts from the higher levels and decompose downwards to lower levels, identifying connections/collaborations at every stage. The top-down approach (also called stepwise design) starts from high level design description and break it down into different sub design or systems to gain observation into its composed sub systems. This gives good understanding of the problem. This starts with system specifications. It specifies/defines a module to implement the specifications. It specifies subordinate modules and then treats each specified module as the problem. Top-down design methods result in some form of elaboration where we reach to a level when no more refinement is needed and the design can be implemented directly. The top-down approach published by many researchers is found to be extremely useful for design. Most design methodologies are based on the top-down approach. If two modules interchange large amounts of data, then they are highly independent. The degree of coupling depends on their interface complexity. The interface complexity is determined by number of types of parameters that are interchanged while invoking the functions of the module. Low coupling is often a note of good design as it supports goals of high readability and maintainability.\par
Data Coupling : Data coupling occurs between two modules when data are passed by parameters using a simple argument list and every item in the list is used. An example is an elementary data item (which should be problem related) passed as parameter between two modules. Example can be an integer, a character, a string etc. Fig. \hyperref[fig_1]{2} : illustrates the module that retrieves student information using student id Strengths of data coupling are: a module sees only the data elements it requires. Weakness of data coupling is, a module can be difficult to maintain if many data elements are passed. 
\section[{c) Cohesion}]{c) Cohesion}\par
Cohesion considers maximizing relationship between elements of same module. Cohesion is the measure of functional strength of a module  {\ref [4,}\hyperref[b5]{7]}. High cohesion is a mark for associating desirable features of software including robustness, reliability, reusability and understandability.\par
Functional Cohesion : Functional cohesion is the strongest cohesion. In a functionally bound module, all the elements of the module are related to performing a single function. By function, we mean modules accomplishing a single goal. A functionally cohesive module performs one and only one problem related task. Functionally cohesive modules may be simple and perform one task, such as Read Customer Record.\par
For example, a module containing all the functions required to manage employees' pay-roll exhibits functional cohesion. When a module exhibits functional cohesion, then we could be able to describe it using a single sentence.\par
Strengths of functional cohesion are functionally cohesive modules are good candidates for re-use, systems built with functionally cohesive modules are easily understood and, therefore, easier to maintain.\par
Weakness of functional cohesion is designers should guard against designing over-simplified modules or methods. If functional cohesion is taken too far in structured design, the system design consists of hundreds of modules comprised of two or three lines of code. 
\section[{d) Span of Control}]{d) Span of Control}\par
Span of Control is a measure of the number of modules directly controlled by a higher-level routine. It is the number of sub-modules under a module. The number of subordinate modules for a project can be in 3 or 5 modules or levels.  
\section[{Case study: online attendance system}]{Case study: online attendance system}\par
Online Attendance System is software developed for daily student attendance in colleges and institutes. It facilitates to access the attendance information of a particular student in a particular class. The attendance information is sorted by the system, which will be provided by the faculty for a particular class. This system will also help in evaluating attendance eligibility criteria of a student \hyperref[b6]{[8]}. This helps faculty marks student's class attendance easily and quickly.\par
The purpose of developing online attendance system is to produce a computerized solution to manual attendance procedure as manual process is time consuming \& mostly not effective and another purpose is to generate the report automatically at the end of the session, and also at end of the academic.\par
This attendance system lets faculty and administration do the following easily: ? Prints class attendance sheets when needed. ? Faculty checks student attendance instantly. ? The Head of the department or institution can check the attendance monthly, date-wise, at end of the academic and also check the summarized attendance of particular student when required. 
\section[{Retrieve student details}]{Retrieve student details} 
\section[{Retrieve student attendance}]{Retrieve student attendance}\par
The scope of the project is this system is intended for engineering institutions which is a web application. In this system there are mainly four entities; admin, faculty, HOD and student. The admin is the main secretary of the system who enters the data into the system. 
\section[{a) Admin Module}]{a) Admin Module}\par
The first entity is Admin who is the powerful in the system. The admin has the possibility to add new students, new faculty, new subjects and new courses; edit and delete the existing ones. The admin can update details of multiple students where students can be promoted to next class or semester easily.\par
The admin can allocate subjects to faculty for a particular class, so that the registers are created dynamically. If allocation for a subject is updated with new faculty, the created registers are transferred to that particular faculty. The admin can view the allocations and registers as and when required.\par
For faculties to take attendance of an academic, the admin has the possibility to set attendance start date and end date. For new academic, the existing dates are deleted and added again.\par
To send the attendance report of the student to their parents, the admin gets the absentees' details of all the classes on the given date and details of the students whose attendance is less than the required percentage for the given month. 
\section[{b) Faculty Module}]{b) Faculty Module}\par
The second entity is Faculty who plays an important role in the system. The Faculty takes the attendance of the students in this module.\par
The Faculty when selects the date, period and the register, navigates to the selected register where the attendance is taken to the students and saves the details which cannot be updated. When selecting the date, the faculty can give attendance from the mentioned start date and end date added by the admin.\par
To view the register of the subjects handled by the Faculty, the faculty selects the register, and views the attendance details of all the students till date. The Faculty can also view the overall number of classes, total attended classes and the percentage. 
\section[{c) HOD Module}]{c) HOD Module}\par
The HOD module also plays a major role in the system. This module is exceptionally used to view the attendance reports of the student. The user of this module can be Head of the Department or Head of the Institution.\par
The Reports include: 1) Subject-Wise Report, where faculty is selected, and obtains the list of registers of the particular faculty. This is similar to the register view of the faculty module.\par
2) Student-Wise Report, where the student ID is given to get the cumulative attendance report of the student for all subjects where report contains total classes, attended classes and the percentage of the attendance.\par
3) Date-Wise Report, where particular class and date are selected to view the attendance of the given date for all periods. 4) Monthly Report, where particular class and month are selected to view the attendance report in a cumulative format for all subjects with total classes, attended classes and percentage. 5) Semester-Wise Report, where particular class is selected to view the overall attendance report of the semester or academic up to the attendance end date. This report will be generated only after the attendance end date. This report is also similar to the cumulative format of monthly report. 
\section[{d) Student Module}]{d) Student Module}\par
The final entity is the Student where he/she can get details that include the profile, and attendance report. The attendance details contain the total classes, attended classes. To get the percentage of the attendance to the classes attended, it is generated only after the attendance end date. This is also similar to Student-Wise report in the HOD module.\par
The four entities or modules mentioned above can access the features given to them in the system, where they have to login with their own username and password.\par
The Online Attendance System applies the proposed design principles, where the operations performed by each entity satisfy the characteristics of design low coupling and high cohesion which provides an efficient system for ease of usage. The top-down approach when used illustrated the software engineering principle decomposition where the system is broken into different sub-modules so that the module required to start is easily identified and implemented from that level. When applying system design principles to the application, application quality has improved and is operated at high level of efficiency and the requirements of the system specified are satisfied.    
\section[{V. Conclusion}]{V. Conclusion}\par
This paper mainly elaborates basic principles of System Design and enumerates reusability is best practice for deliver product facility. The Online Attendance System that is developed meets the design objectives of the system design for which it has been developed. The users associated with the system understand its advantage and easily navigates with the user interface. It was intended to solve as requirement specification. The current system can be a good reference when implementing a similar system in other institutions as the system is proved to be workable and effective.\begin{figure}[htbp]
\noindent\textbf{1}\includegraphics[]{image-2.png}
\caption{\label{fig_0}Fig. 1 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{2}\includegraphics[]{image-3.png}
\caption{\label{fig_1}2 .}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-4.png}
\caption{\label{fig_2}}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{3}\includegraphics[]{image-5.png}
\caption{\label{fig_3}Fig. 3 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{45}\includegraphics[]{image-6.png}
\caption{\label{fig_6}Fig. 4 :Fig. 5 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{712}\includegraphics[]{image-7.png}
\caption{\label{fig_7}Fig. 7 :Fig. 12 :}\end{figure}
 			\footnote{© 2012 Global Journals Inc. (US)} 		 		\backmatter  			  				\begin{bibitemlist}{1}
\bibitem[ An Integrated Approach for Software Engineering -Pankaj Jalote]{b1}\label{b1} 	 		\textit{},  	 	 		\textit{An Integrated Approach for Software Engineering -Pankaj Jalote}  		 	 
\bibitem[Nabil and Govardhan (2010)]{b3}\label{b3} 	 		‘A Comparison Between Five Models of Software Engineering’.  		 			A M A Nabil 		,  		 			Govardhan 		.  	 	 		\textit{IJCSI International Journal of Computer Science Issues}  		September 2010. 7  (5)  p. .  	 
\bibitem[Ting and Ting ()]{b6}\label{b6} 	 		‘An Online Attendance Record System, ICEED’.  		 			H C Ting 		,  		 			T O Ting 		.  	 	 		\textit{Month}  		2009. December Year: 2009.  	 
\bibitem[Data Coupling Design Principle]{b2}\label{b2} 	 		 \url{http://it.toolbox.com/blogs/enterprise-solutions/design-principles-coupling-data-and-otherwise-160}  		\textit{Data Coupling Design Principle},  				p. 61.  	 
\bibitem[Baig (2004)]{b5}\label{b5} 	 		‘Measuring Cohesion and Coupling of Object-Oriented Systems’.  		 			Imran Baig 		.  		 no: MSE-2004:29.  	 	 		\textit{Month}  		August Year: 2004.  	 	 (Master Thesis Software Engineering, Thesis) 
\bibitem[Software Engineering: A Practitioner's Approach -Roger S Pressman]{b0}\label{b0} 	 		\textit{Software Engineering: A Practitioner's Approach -Roger S Pressman},  		 	 
\bibitem[Taya and Gupta (2011)]{b4}\label{b4} 	 		 			Sanjana Taya 		,  		 			Shaveta Gupta 		.  		\textit{Comparative Analysis of Software Development Life Cycle Models, IJCST},  				Oct . -Dec. 2011. 2 p. .  	 
\end{bibitemlist}
 			 		 	 
\end{document}
