SlideShare a Scribd company logo
1 of 11
Download to read offline
Natarajan Meghanathan, et al. (Eds): ITCS, SIP, JSE-2012, CS & IT 04, pp. 325–335, 2012.
© CS & IT-CSCP 2012 DOI : 10.5121/csit.2012.2130
A FRAMEWORK STUDIO FOR COMPONENT
REUSABILITY
N Md Jubair Basha1
and Salman Abdul Moiz2
1
Information Technology, Muffakham Jah College of Engineering &
Technology, Hyderabad, INDIA
jubairbasha@mjcollege.ac.in
2
Professor CSE/IT, MVSR Engineering College, Hyderabad, INDIA
Salman.abdul.moiz@ieee.org
ABSTRACT
The deployment of a software product requires considerable amount of time and effort. In order
to increase the productivity of the software products, reusability strategies were proposed in the
literature. However effective reuse is still a challenging issue. This paper presents a framework
studio for effective components reusability which provides the selection of components from
framework studio and generation of source code based on stakeholders needs. The framework
studio is implemented using swings which are integrated onto the Net Beans IDE which help in
faster generation of the source code.
KEYWORDS
Component, Reusability, Framework, Product
1. INTRODUCTION
Effective software reuse helps in development of quality product within time and budget. This
also helps in reducing the high effort needed for testing and maintenance of the software
products.
Several tools are proposed in literature which provides only subset of operation requirements of
effective software reuse. Though some of the tools generate source code as an artifact, but they
may not work for enterprise software. In this paper a framework for effective software reuse is
presented which is used to identify the components of a given enterprise requirements. The
identified components are integrated onto the Net Beans IDE to generate a deployable
application.
The remaining part of this paper is organized as follows: section-2 presents the advantages of
reusing software systems, section-3 describes approaches and tools of domain engineering,
section-4 describes the proposed component framework along with the process followed for
effective code generation, section -5 shows the simulation results and section -6 concludes the
paper.
326 Computer Science & Information Technology (CS & IT)
2. SOFTWARE REUSE
Software Reuse is the use of available software or to build new software from software
knowledge. Reusable assets can be either reusable software or software knowledge. Reusability is
a property of a software asset that indicates it’s probability of reuse [1]. Software Reuse means
the process that use “designed software for reuse” again and again [2]. By software reusing, we
can manage complexity of software development, increase product quality and makes faster
production in the organization.
Recently, design reuse has become popular with (object-oriented) class libraries, application
frameworks, design patterns and along with the source code [3]. Jianli et al. proposed two
complementary methods for reusing existing components. Among them one allows component
evolution itself, which is achieved with binary class level inheritance across component modules.
The other is by defined semantic entity so that they can be assembled at compile time or bind at
runtime. Although component containment still is the main reuse model that leads to contribute
the software product lines development [4]. Regarding the components much information has to
be collected, maintained and processed for the retrieval of the components. Maurizio has
proposed a methodology to automatically build a software catalogue the tools for archiving and
retrieval of information are presented [5]. Software Reuse can be broadly divided into two
categories viz. product reuse and process reuse. The product reuse includes the reuse of a
software component and by producing a new component as a result of module integration and
construction. The process reuse represents the reuse of legacy component from repository. These
components may be either directly reused or may need a minor modification. The modified
software component can be archived by versioning these components. The components may be
classified and selected depending on the required domain. [6].
3. DOMAIN ENGINEERING
Software Reuse can be improved by identifying objects and operations for a class of similar
systems, i.e. for a particular domain. In the context of software engineering domains are
application areas [7].
There are various definitions of what a domain is. Czarnecki’s defines [8]:” an area of knowledge
scoped to maximize the satisfaction of the requirements of stakeholders, which includes concepts
and terminology understood by practitioners in the area and the knowledge of how to build (part
of) systems in the area”.
Domain Engineering is a process in which the reusable component is developed and organized
and in which the architecture meeting requirements of the domain is designed [9].
Domain Engineering can be defined by identifying the candidate domains and performing domain
analysis and domain implementation which includes both application engineering and component
engineering. Domain Analysis is a continuing process of creating and maintaining the reuse
infrastructure in a certain domain. The main objective of domain analysis is to make the whole
information readily available. The relevant components (if available) has to be extracted from the
repository rather than building the new components from the scratch for a particular domain.
Domain Analysis mainly focuses on reusability of analysis and design, but not code.This can be
achieved by building common architectures, generic models or specialized languages that
additionally improve the software development process in the specific problem area of the
domain. A vertical domain is a specific class of systems. A horizontal domain contains general
software parts being used across multiple vertical domains. Mathematical functions libraries
Computer Science & Information Technology (CS & IT) 327
container classes and UNIX tools are the examples of horizontal reuse. The purpose of domain
engineering is to identify objects and operations of a class in a particular problem domain [7].
In the process of domain analysis, each component identified can be categorized as follows.
• General-purpose components: These components can be used in various applications of
different domains (horizontal reuse).
• Domain-specific components: They are more specific and can be used in various
applications of one domain (vertical reuse).
• Product-specific components: They are very specific and custom-built for a certain
application, they are not reusable or only useful to a small extent.
3.1. APPROACHES FOR DOMAIN ENGINEERING
Several tools for domain engineering are proposed in literature. Each tool specifies subset of
operational requirements needed for the realization of domain engineering.
• Domain Analysis and Reuse Environment (DARE-1988) is a tool that provides a mechanism to
capture the information needed from source code, documentation and from domain experts. The
extracted domain information is stored in a repository that typically contains a generic
architecture for the domain and domain-specific reusable components. For the purpose of reusing
the available domain information from repository, DARE provides a library search facility to
retrieve the stored domain information [10].
• Family-Oriented Abstraction, Specification and Translation (FAST) provides API’s based on an
application modeling language (AML). It helps developers to create the tools that are needed for
generating software product line by using domain engineering & application engineering phases.
• Feature Oriented Reuse Method (FORM) is a systematic method for capturing and analyzing the
similarities and differences of features pertaining to specific domain. It is an extension to the
Feature Oriented Domain Analysis (FODA). The identified domain architectures and
components helps to discover and understand the similarities and differences of a product line
[12].
• Kobra (KomponentenbasierteAnwendungsentwicklung) is used for component-based
development [1]. This method consists of product line development, component based software
development and frameworks to provide systematic approach to developing high quality
component based application frameworks [13]. As it can be used with three major component
implementation technologies viz., Java Beans, CORBA and COM, it is assumed to be
“technology independent”.
• Product Line UML-Based Software Engineering (PLUS) is a model-driven evolutionary
development approach for software product lines. It is used for analyzing and modeling a single
system. Additionally, it provides a set of concepts and techniques to explicitly model the
similarities and differences in a software product line. This approach enables object oriented
requirements, analysis and design models of software product lines to be developed using UML
2.0[14].
• AndroMDA is an extensible generator framework that adheres to the Model Driven Architecture
(MDA) paradigm [15]. AndroMDA presents a systematic development methodology to generate
deployable components for several platforms and technologies. This helps in achieving the goal
of “write less code”. The architecture generated by AndroMDA is relatively standard to modern
328 Computer Science & Information Technology (CS & IT)
enterprise applications. It consists of four stacked layers, each one containing several
components providing some specific functionality. Each component, represented by an
AndroMDA, can communicate with other components of the same layer or directly with layers
below it.
• With Poseidon [16] for domain specific languages can quickly create fully graphical editor for
any domain, customize the editor according to the user needs and generate output from the
models.
• QT is a cross platform for C++. Additionally QT has IDE like Eclipse for C++ on mobile . It
allows to write advanced applications and UIs once & deploy them across desktop and embedded
operating systems without rewriting the source code. This helps in saving the development and
testing effort. Whether it is C++ or JavaScript, QT provides the building blocks — a broad set of
customizable widgets, graphics canvas, style engine and modern user interfaces. It also
incorporates 3D graphics, multimedia audio or video, isual effects, and animations to deploy the
applications. QT provides cross-platform IDE. QT's integration with the WebKit web rendering
engine helps in quickly incorporating content and services from the Web into the native
application. It can use the web environment to deliver the required services and functionality for
the satisfaction of end users [17].
4. FRAMEWORK STUDIO
There is a need for tools to support the creation of domain specific collections of reusable
components, also known as Framework, which is tuned specifically for a particular application
domain, i.e. an interface building framework. A framework consists of set of components that
express a design for a family of related applications. Therefore, a framework will not be as
generally useful outside the application domain because it contains domain-dependent
components. However, it is sometimes beneficial to adopt the developing software so that it fits
to a proposed framework, resulting in a tremendous gain in productivity. The graphical features
of a CASE environment are proposed and reusing an interactive framework by following a
proposed process is presented.
Studio means eclipse and Net beans IDE provides the flexibility to the user to work in the
workspace for the development of applications. In J2EE, only pure business logic should be
written and it provides security, persistence, internationalization and localization. The proposed
Framework Studio is a tool used to create specific application screens for particular domains.
This will be used by the developers. Framework code generation component is responsible for
code generation using file the produced by the framework studio. This is integrated into the
workspace of the Net beans IDE to develop the applications. Framework studio and Framework
Code Generation component itself coded to be highly flexible & scalable.
4.1 PROS OF FRAMEWORK STUDIO
This Framework Studio enhances the code generation feature. Using the requirements of stake
holders, this framework studio can automatically generate the source code depending upon the
components identified for a particular domain. This Framework Studio provides the facility to
drag and drop the components onto a Canvas from the pallet. This increases the reusability of
enterprise applications in particular domain.
The advantages of a framework studio are as follows:
• Ease of development
• Uniformity in User Interface development
Computer Science & Information Technology (CS & IT) 329
• Reduce Development Efforts
• Reduce Redundant Work
• Reuse
• Manual and automation intervention is balanced optimally
4.2 FRAMEWORK STUDIO PROCESS
The proposed framework can be implemented by following a well defined process. The proposed
process for the realization of the given framework is depicted in Figure.1.
Figure1. Framework Studio Process
The Framework Studio is built using the Swings technology in Java. It represents an integration
of many components. These components are bundled on a particular pallet that helps in selection
of components of a given domain requested by the stakeholder. In the second phase, the palette is
captured in the framework user interface (FUI) which is a XML file. In the third phase, the XML
form of the FUI is integrated into the Net Beans IDE to generate JSP/Java files after starting the
JBoss server. In the final phase the JSP’s are deployed on JBoss server to deploy the desired
application which also includes the business logic along with the web application.
5. RESULTS
The experimental setup consisted of a machine running Windows-XP Intel Pentium-IV 2.26 GHz
and 1.5 GB Ram. The JBoss server running on the Sun Java development kit 1.6. The application
was based on the JBoss application server default settings.
Figure 2. Framework Studio to drag the components present on to the Canvas from Pallet
Framework Studio consists of a Canvas and pallet developed by using the swings technology.
The Figure 2, consists of components such as Button 1, Button 2, Combo Box with its list and a
Text Field which are available on the Pallet. A Canvas represents a blank rectangular area of the
screen onto which the application can draw or from which the application can trap input events
Net BeansFUI (XML)
Framework
Studio (Swing
Technology)
JSP/JavaJBossFinal Desired
Application
330 Computer Science & Information Technology (CS & IT)
from the user. Here, on the Canvas the components which are available on the palette are dragged
on to the Canvas. Wherever a selection of component is made, for example, a button or text field
etc is selected or dragged on to the Canvas then relevant components size with its name should be
added. Likewise, all the components which are needed by the stake holder can be provided with
in a mean time without the development of the new components from scratch.
The Net Beans IDE 6.0 is used to run the HR portal application. The HR portal application
consists of EAR (Enterprise Archive) file which is a collection of both WAR and JAR files. The
WAR (Web Archive) consists of the Servlets, JSP’s and HTML web pages. The JAR represents
the Java Archive which consists of the business logic classes. The Java EE modules consist of the
HR portal-ejb.jar and HR portal-war.war are created.
Under the HR Portal-ejb, the beans available are EmployeeBean, HR Process Bean,
InterviewResultsBean classes are created with their methods. The source packages are
com.mycompany.hr.dao, com.mycompany.hr.process and com.mycompany.hr.vo were created.
In the com.mycompany.hr.dao package, the BaseDAO.java, EmployeeDAO.java,
InterviewDAO.java, HRDAO.java and ProcessDAO.java classes are created. The BaseDAO.java
is the superclass for the EmployeeDAO.java, InterviewDAO.java, HRDAO.java,
ProcessDAO.java subclasses. In the com.mycompany.hr.process package, there are classes such
as the EmployeeBean.java, EmployeeBeanRemote.java, HRProcessBean.java,
HRProcessBeanRemote.java, InterviewRFesultsBean.java, InterviewRFesultsBeanRemote.java
are created.
The business logic methods for the above classes are defined in the developed application. In
com.mycompany.hr.vo package there are classes such as CandIntResults.java,
CandidateProfile.java, EmpSalary.java, EmployeeCredentials.java, EmployeeProfile.java are
created. The other module HR Portal-war.war is created which consists of the Servlets and Jsps.
The web pages which were created are Login.jsp, Welcome.jsp, Index.jsp, ViewProfile.jsp,
AddCandidate.jsp, InterviewResult.jsp, Registration.jsp. The sourcePackage includes only one
package i.e. com.mycompany.hr.servlet package, includes the classes are HRProcessServlet.java,
LoginServlet.java, RegistrationServlet.java, InterviewResult.java. This package classes extend
the functionality of the HttpServlet superclass.
Thus the two modules i.e. HRPortal-ejb.jar and HRPortal-war.war with their packages, its classes
and methods are described.
Figure 3. HR Portal Application after integrating into Net Beans IDE
Computer Science & Information Technology (CS & IT) 331
Figure 4. Registration Details Page for HR Portal Application
When the HR Portal application is made to deploy the application by Clean and Build it. At
deployment by extracting its JEE Modules i.e. HRPortal-ejb.jar and HRPortal-war.war. The
JBoss application server is started. Then the HR Portal application Figure 3 can be seen. If the
candidate is already registered to the database then the candidate can directly Sign in the Page
which is available in the Figure 3. If the candidate is new candidate, then by clicking on to the
here button can be registered. The AddCandidate.jsp page is invoked (see Figure 4.). The
AddCandidate.jsp page registers the candidates dynamically. Further, HRProcessServlet.java is
invoked. In the invoked servletpage the Login is available. Upon clicking the here button, again
the LoginServlet.java is invoked with it’s relevant functionality displaying the again the Figure 3.
The HRProcessServlet.java is invoked and add the candidates details to the Database via the
ProcessDAO.java and BaseDAO.java.Here the getConnection() will invoked to add the candidate
details to the database. Further, Figure 5 will be generated.
Figure 5. Servlet Invocation Web Page
332 Computer Science & Information Technology (CS & IT)
Whenever the existing user login form i.e. login.jsp webpage, then the getConnection() will gets
invoked. Again Figure 3 allows the existing user to do further more operations.
Figure 6. Login Page of the HR Portal Application
Whenever the existing user enters the Username and password (see Figure 6), the processDAO
class executes by verifying the authenticate() method so that the relevant username and password
which were entered in the login page is there in the database or not. If it has been found, then the
LoginServlet.java in conjunct with the HRProcessSevlet.java gets invoked by displaying the
webpage Figure 5.
Figure 7. Welcome.jsp page for HR Application
Computer Science & Information Technology (CS & IT) 333
In Figure 7, will invoked when ever the already existing candidate made the login. Again it
contains the ViewProfile and ChangePassword. Upon Clicking on to the ViewProfile.jsp will gets
displayed.
The database used for this application is My SQL. The tables used in My SQL database which are
used in the HR Portal application are Emp_Profile, Emp_Credentials, Emp_Salary,
Candidate_Profile, Cand_Int_Results. The Emp_Profile table consists of attributes are emp_id,
name, address, dob, experience, doj, email, mobile. The Emp_Credentilals table consists of
attributes are emp_id, password. The Emp_Salary table consists of attributes are emp_id,
designation, basic, da, hra, cca, pf. The Emp_Profile table consists of attributes are Regn_id,
name, address, qual, email, mobile, experience.
In order to test the developed Framework Studio, HR Portal Application is developed without
developing of the enterprise application i.e. its business logic from the scratch. The Figure 3 and
Figure 4 includes the components which consist of the text fields and buttons. Upon submitting
the JSP page processed by the JBoss Server to generate the results from the server to display the
web page that the candidate profile has been added using the Framework Studio. All the
components which were dragged to the Canvas available on the palette and have been added to
the web page without writing the code again for the components such as button, text field and
labels. All the above said components are reused effectively with developing the components
again from the scratch.
6. CONCLUSION
The Framework Studio is proposed for the generation of code for a particular domain specific
component. The proposed framework is tested for a HR portal application domain. The related
components are extracted from the Framework Studio which is integrated with Net Beans IDE for
deployment of HR Portal application. This increases the reusability of enterprise applications in
particular domain. As more and more components are added to the Framework Studio, many
applications can be deployed, which helps in reduction of time and budget. This helps in
reduction of risk of software development to a large extent. As per the future work, it is necessary
to identify the rarely used components and add to the pallet. One of the issues still lags in the
related work is that the metrics for identifying the quality of reusable components. These metrics
can be identified in the design phase or in the coding phase can help to reduce the rework by
improving quality of reuse of the component and hence improve the productivity due to
probabilistic increase in reuse level. So, the developed systems can be used to enhance the
productivity and quality of software development much faster.
ACKNOWLEDGEMENTS
The work was partly supported by the R & D Cell of Muffakham Jah College of Engineering &
Technology, Hyderabad, India. The authors would like to thank to all the people from Industry
and Academia for their active support.
REFERENCES
[1] William B. Frakes, Kyo Kang: Software Reuse and Research: Status and Future, IEEE Transactions
on Software Engineering”, Vol. 31, No. 7, July 2005
334 Computer Science & Information Technology (CS & IT)
[2] Xichen Wang, Luzi Wang: Software Reuse and Distributed Object Technology, IEEE Transactions
on Software Engineering, 2011.
[3] Sametinger: Software Engineering with Reusable Components, Springer-Verlag, ISBN 3- 540-62695-
6, 1997.
[4] Jianli He, Rong Chen, Weinan Gu: A New Method for Component Reuse, IEEE Transactions on
Software Engineering, 2009.
[5] Maurizio Pighin: A New Methodology for Component Reuse and Maintenance, IEEE Transactions
on Softwrae Engineering, 2001.
[6] Yong-liu, Aiguang-Yang: Research and Application of Software Reuse, ACIS International
Conference on Software Engineeing, Artificial Intelligence, IEEE, 2007.
[7] N Md Jubair Basha, Salman Abdul Moiz, A.A.Moiz Qyser: Performance Analysis of HR Portal
Domain Components Extraction, IJCSIT, Vol. 2(5), 2011, 2326-2331.
[8] Czarnecki, K., Eisenecker, U.W.:Generative Programming: methods, tools and applications. Addison
Wesley, London, 2000.
[9] Fuqing Yang, Bing Zhu, Hong Mei : Reuse oriented requirements modeling, Tsinghua University
Press, Beizing, 2008.
[10] W B. Frakes, R. Prieto-Diaz, C. Fox: DARE-COTS. A Domain Analysis support tool, Computer
Science Society, 1997. Proceedings, XVII International Conference of the Chilean 10-15, Nov. 1997,
pp 73-77.
[11] J. Coplien, D. Hoffman and D. Weiss: Commanality and variability in software, IEEE Software vol.
15, No. 6, Nov-Dec. 1998, pp 37-45.
[12] K.C. Kang, J. Lee, P.Donohoe: Featured Oriented Product Line Engineering, IEEE Software vol. 15,
No. 6, pp 58-65, Jul- Aug 2002.
[13] C. Atkinson, J. Bayer, D. Muthig: Component Based Product Line : The KobrA Approach,1st
International Conference on Software Product Line Conference, Denver, 2000. Pp 289-310.
[14] H.Gomma : Designing Software Product Lin eswith UML: From Use Cases to Pattern-Based
Software Architectures, Addison Wesley, 2004.
[15] http://www.andromda.org
[16] http://www.gentleware.com
[17] http://www.qt.nokia.com
Computer Science & Information Technology (CS & IT) 335
Authors
N Md Jubair Basha received his B.Tech. (IT) and M.Tech (IT) from JNTUH,
Hyderabad He is presently working as Assistant Professor in Department of Information
Technology, Muffakham Jah College of Engineering and Technology, Hyderabad, India.
His research interest includes Software Reusability, Data Mining and Mobile Computing.
He is an active member of IEEE and CSI. You can reach him at
nawabjubair@gmail.com.
Dr. Salman Abdul Moiz is working as a Professor in CSE/IT department at MVSR Engineering College,
Hyderabad. He received B.Sc (Electronics) from Osmania University, MCA from
Osmania University, M.Tech (CSE) from Osmania University, and M.Phil (CS) from
Madurai Kamaraj University and Ph.D (CSE) from Osmania University. He worked as
Research Scientist at Centre for Development of Advanced Computing, Bangalore. He
has published 31 papers in various National/International Conferences and Journals. His
areas of interests include Mobile databases, Software Process Improvements;
Component based software development & Disaster Recovery. He is an active member
of IEEE, IETE and CSI.

More Related Content

What's hot

Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28
koolkampus
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...
Mohammad Salah uddin
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Zainab Nayyar
 
Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Dr. Amarjeet Singh
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
IJSEA
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
Arudra Vishen
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
Muhammad Chaudhry
 
PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...
PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...
PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...
ijseajournal
 
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDYA FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
ijseajournal
 

What's hot (17)

PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...
 
1989 Joyce: An Object-Oriented Decision Tree Builder
1989 Joyce: An Object-Oriented Decision Tree Builder1989 Joyce: An Object-Oriented Decision Tree Builder
1989 Joyce: An Object-Oriented Decision Tree Builder
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
 
Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilers
 
Ui design final
Ui design finalUi design final
Ui design final
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
 
PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...
PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...
PRODUCT QUALITY EVALUATION METHOD (PQEM): TO UNDERSTAND THE EVOLUTION OF QUAL...
 
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDYA FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
 
A Comparative Study of Forward and Reverse Engineering
A Comparative Study of Forward and Reverse EngineeringA Comparative Study of Forward and Reverse Engineering
A Comparative Study of Forward and Reverse Engineering
 

Similar to A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY

Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
Ian Sommerville
 
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDYPROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
ijseajournal
 
An efficient tool for reusable software
An efficient tool for reusable softwareAn efficient tool for reusable software
An efficient tool for reusable software
prjpublications
 

Similar to A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY (20)

FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
 
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueAn Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
International Journal of Computational Engineering Research(IJCER)
 International Journal of Computational Engineering Research(IJCER)  International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using Metrics
 
D502023439
D502023439D502023439
D502023439
 
D502023439
D502023439D502023439
D502023439
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptx
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software Reusability
 
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDYPROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systems
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
 
Domain Modelling
Domain ModellingDomain Modelling
Domain Modelling
 
D033017020
D033017020D033017020
D033017020
 
A Review of Feature Model Position in the Software Product Line and Its Extra...
A Review of Feature Model Position in the Software Product Line and Its Extra...A Review of Feature Model Position in the Software Product Line and Its Extra...
A Review of Feature Model Position in the Software Product Line and Its Extra...
 
An efficient tool for reusable software
An efficient tool for reusable softwareAn efficient tool for reusable software
An efficient tool for reusable software
 

More from cscpconf

MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
cscpconf
 

More from cscpconf (20)

ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
 
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
 
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
 
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIESPROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
 
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGICA SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
 
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
 
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
 
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTICTWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
 
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAINDETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
 
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
 
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEMIMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
 
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
 
AUTOMATED PENETRATION TESTING: AN OVERVIEW
AUTOMATED PENETRATION TESTING: AN OVERVIEWAUTOMATED PENETRATION TESTING: AN OVERVIEW
AUTOMATED PENETRATION TESTING: AN OVERVIEW
 
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORKCLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
 
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
 
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATAPROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
 
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCHCHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
 
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
 
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGESOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
 
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXTGENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 

A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY

  • 1. Natarajan Meghanathan, et al. (Eds): ITCS, SIP, JSE-2012, CS & IT 04, pp. 325–335, 2012. © CS & IT-CSCP 2012 DOI : 10.5121/csit.2012.2130 A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY N Md Jubair Basha1 and Salman Abdul Moiz2 1 Information Technology, Muffakham Jah College of Engineering & Technology, Hyderabad, INDIA jubairbasha@mjcollege.ac.in 2 Professor CSE/IT, MVSR Engineering College, Hyderabad, INDIA Salman.abdul.moiz@ieee.org ABSTRACT The deployment of a software product requires considerable amount of time and effort. In order to increase the productivity of the software products, reusability strategies were proposed in the literature. However effective reuse is still a challenging issue. This paper presents a framework studio for effective components reusability which provides the selection of components from framework studio and generation of source code based on stakeholders needs. The framework studio is implemented using swings which are integrated onto the Net Beans IDE which help in faster generation of the source code. KEYWORDS Component, Reusability, Framework, Product 1. INTRODUCTION Effective software reuse helps in development of quality product within time and budget. This also helps in reducing the high effort needed for testing and maintenance of the software products. Several tools are proposed in literature which provides only subset of operation requirements of effective software reuse. Though some of the tools generate source code as an artifact, but they may not work for enterprise software. In this paper a framework for effective software reuse is presented which is used to identify the components of a given enterprise requirements. The identified components are integrated onto the Net Beans IDE to generate a deployable application. The remaining part of this paper is organized as follows: section-2 presents the advantages of reusing software systems, section-3 describes approaches and tools of domain engineering, section-4 describes the proposed component framework along with the process followed for effective code generation, section -5 shows the simulation results and section -6 concludes the paper.
  • 2. 326 Computer Science & Information Technology (CS & IT) 2. SOFTWARE REUSE Software Reuse is the use of available software or to build new software from software knowledge. Reusable assets can be either reusable software or software knowledge. Reusability is a property of a software asset that indicates it’s probability of reuse [1]. Software Reuse means the process that use “designed software for reuse” again and again [2]. By software reusing, we can manage complexity of software development, increase product quality and makes faster production in the organization. Recently, design reuse has become popular with (object-oriented) class libraries, application frameworks, design patterns and along with the source code [3]. Jianli et al. proposed two complementary methods for reusing existing components. Among them one allows component evolution itself, which is achieved with binary class level inheritance across component modules. The other is by defined semantic entity so that they can be assembled at compile time or bind at runtime. Although component containment still is the main reuse model that leads to contribute the software product lines development [4]. Regarding the components much information has to be collected, maintained and processed for the retrieval of the components. Maurizio has proposed a methodology to automatically build a software catalogue the tools for archiving and retrieval of information are presented [5]. Software Reuse can be broadly divided into two categories viz. product reuse and process reuse. The product reuse includes the reuse of a software component and by producing a new component as a result of module integration and construction. The process reuse represents the reuse of legacy component from repository. These components may be either directly reused or may need a minor modification. The modified software component can be archived by versioning these components. The components may be classified and selected depending on the required domain. [6]. 3. DOMAIN ENGINEERING Software Reuse can be improved by identifying objects and operations for a class of similar systems, i.e. for a particular domain. In the context of software engineering domains are application areas [7]. There are various definitions of what a domain is. Czarnecki’s defines [8]:” an area of knowledge scoped to maximize the satisfaction of the requirements of stakeholders, which includes concepts and terminology understood by practitioners in the area and the knowledge of how to build (part of) systems in the area”. Domain Engineering is a process in which the reusable component is developed and organized and in which the architecture meeting requirements of the domain is designed [9]. Domain Engineering can be defined by identifying the candidate domains and performing domain analysis and domain implementation which includes both application engineering and component engineering. Domain Analysis is a continuing process of creating and maintaining the reuse infrastructure in a certain domain. The main objective of domain analysis is to make the whole information readily available. The relevant components (if available) has to be extracted from the repository rather than building the new components from the scratch for a particular domain. Domain Analysis mainly focuses on reusability of analysis and design, but not code.This can be achieved by building common architectures, generic models or specialized languages that additionally improve the software development process in the specific problem area of the domain. A vertical domain is a specific class of systems. A horizontal domain contains general software parts being used across multiple vertical domains. Mathematical functions libraries
  • 3. Computer Science & Information Technology (CS & IT) 327 container classes and UNIX tools are the examples of horizontal reuse. The purpose of domain engineering is to identify objects and operations of a class in a particular problem domain [7]. In the process of domain analysis, each component identified can be categorized as follows. • General-purpose components: These components can be used in various applications of different domains (horizontal reuse). • Domain-specific components: They are more specific and can be used in various applications of one domain (vertical reuse). • Product-specific components: They are very specific and custom-built for a certain application, they are not reusable or only useful to a small extent. 3.1. APPROACHES FOR DOMAIN ENGINEERING Several tools for domain engineering are proposed in literature. Each tool specifies subset of operational requirements needed for the realization of domain engineering. • Domain Analysis and Reuse Environment (DARE-1988) is a tool that provides a mechanism to capture the information needed from source code, documentation and from domain experts. The extracted domain information is stored in a repository that typically contains a generic architecture for the domain and domain-specific reusable components. For the purpose of reusing the available domain information from repository, DARE provides a library search facility to retrieve the stored domain information [10]. • Family-Oriented Abstraction, Specification and Translation (FAST) provides API’s based on an application modeling language (AML). It helps developers to create the tools that are needed for generating software product line by using domain engineering & application engineering phases. • Feature Oriented Reuse Method (FORM) is a systematic method for capturing and analyzing the similarities and differences of features pertaining to specific domain. It is an extension to the Feature Oriented Domain Analysis (FODA). The identified domain architectures and components helps to discover and understand the similarities and differences of a product line [12]. • Kobra (KomponentenbasierteAnwendungsentwicklung) is used for component-based development [1]. This method consists of product line development, component based software development and frameworks to provide systematic approach to developing high quality component based application frameworks [13]. As it can be used with three major component implementation technologies viz., Java Beans, CORBA and COM, it is assumed to be “technology independent”. • Product Line UML-Based Software Engineering (PLUS) is a model-driven evolutionary development approach for software product lines. It is used for analyzing and modeling a single system. Additionally, it provides a set of concepts and techniques to explicitly model the similarities and differences in a software product line. This approach enables object oriented requirements, analysis and design models of software product lines to be developed using UML 2.0[14]. • AndroMDA is an extensible generator framework that adheres to the Model Driven Architecture (MDA) paradigm [15]. AndroMDA presents a systematic development methodology to generate deployable components for several platforms and technologies. This helps in achieving the goal of “write less code”. The architecture generated by AndroMDA is relatively standard to modern
  • 4. 328 Computer Science & Information Technology (CS & IT) enterprise applications. It consists of four stacked layers, each one containing several components providing some specific functionality. Each component, represented by an AndroMDA, can communicate with other components of the same layer or directly with layers below it. • With Poseidon [16] for domain specific languages can quickly create fully graphical editor for any domain, customize the editor according to the user needs and generate output from the models. • QT is a cross platform for C++. Additionally QT has IDE like Eclipse for C++ on mobile . It allows to write advanced applications and UIs once & deploy them across desktop and embedded operating systems without rewriting the source code. This helps in saving the development and testing effort. Whether it is C++ or JavaScript, QT provides the building blocks — a broad set of customizable widgets, graphics canvas, style engine and modern user interfaces. It also incorporates 3D graphics, multimedia audio or video, isual effects, and animations to deploy the applications. QT provides cross-platform IDE. QT's integration with the WebKit web rendering engine helps in quickly incorporating content and services from the Web into the native application. It can use the web environment to deliver the required services and functionality for the satisfaction of end users [17]. 4. FRAMEWORK STUDIO There is a need for tools to support the creation of domain specific collections of reusable components, also known as Framework, which is tuned specifically for a particular application domain, i.e. an interface building framework. A framework consists of set of components that express a design for a family of related applications. Therefore, a framework will not be as generally useful outside the application domain because it contains domain-dependent components. However, it is sometimes beneficial to adopt the developing software so that it fits to a proposed framework, resulting in a tremendous gain in productivity. The graphical features of a CASE environment are proposed and reusing an interactive framework by following a proposed process is presented. Studio means eclipse and Net beans IDE provides the flexibility to the user to work in the workspace for the development of applications. In J2EE, only pure business logic should be written and it provides security, persistence, internationalization and localization. The proposed Framework Studio is a tool used to create specific application screens for particular domains. This will be used by the developers. Framework code generation component is responsible for code generation using file the produced by the framework studio. This is integrated into the workspace of the Net beans IDE to develop the applications. Framework studio and Framework Code Generation component itself coded to be highly flexible & scalable. 4.1 PROS OF FRAMEWORK STUDIO This Framework Studio enhances the code generation feature. Using the requirements of stake holders, this framework studio can automatically generate the source code depending upon the components identified for a particular domain. This Framework Studio provides the facility to drag and drop the components onto a Canvas from the pallet. This increases the reusability of enterprise applications in particular domain. The advantages of a framework studio are as follows: • Ease of development • Uniformity in User Interface development
  • 5. Computer Science & Information Technology (CS & IT) 329 • Reduce Development Efforts • Reduce Redundant Work • Reuse • Manual and automation intervention is balanced optimally 4.2 FRAMEWORK STUDIO PROCESS The proposed framework can be implemented by following a well defined process. The proposed process for the realization of the given framework is depicted in Figure.1. Figure1. Framework Studio Process The Framework Studio is built using the Swings technology in Java. It represents an integration of many components. These components are bundled on a particular pallet that helps in selection of components of a given domain requested by the stakeholder. In the second phase, the palette is captured in the framework user interface (FUI) which is a XML file. In the third phase, the XML form of the FUI is integrated into the Net Beans IDE to generate JSP/Java files after starting the JBoss server. In the final phase the JSP’s are deployed on JBoss server to deploy the desired application which also includes the business logic along with the web application. 5. RESULTS The experimental setup consisted of a machine running Windows-XP Intel Pentium-IV 2.26 GHz and 1.5 GB Ram. The JBoss server running on the Sun Java development kit 1.6. The application was based on the JBoss application server default settings. Figure 2. Framework Studio to drag the components present on to the Canvas from Pallet Framework Studio consists of a Canvas and pallet developed by using the swings technology. The Figure 2, consists of components such as Button 1, Button 2, Combo Box with its list and a Text Field which are available on the Pallet. A Canvas represents a blank rectangular area of the screen onto which the application can draw or from which the application can trap input events Net BeansFUI (XML) Framework Studio (Swing Technology) JSP/JavaJBossFinal Desired Application
  • 6. 330 Computer Science & Information Technology (CS & IT) from the user. Here, on the Canvas the components which are available on the palette are dragged on to the Canvas. Wherever a selection of component is made, for example, a button or text field etc is selected or dragged on to the Canvas then relevant components size with its name should be added. Likewise, all the components which are needed by the stake holder can be provided with in a mean time without the development of the new components from scratch. The Net Beans IDE 6.0 is used to run the HR portal application. The HR portal application consists of EAR (Enterprise Archive) file which is a collection of both WAR and JAR files. The WAR (Web Archive) consists of the Servlets, JSP’s and HTML web pages. The JAR represents the Java Archive which consists of the business logic classes. The Java EE modules consist of the HR portal-ejb.jar and HR portal-war.war are created. Under the HR Portal-ejb, the beans available are EmployeeBean, HR Process Bean, InterviewResultsBean classes are created with their methods. The source packages are com.mycompany.hr.dao, com.mycompany.hr.process and com.mycompany.hr.vo were created. In the com.mycompany.hr.dao package, the BaseDAO.java, EmployeeDAO.java, InterviewDAO.java, HRDAO.java and ProcessDAO.java classes are created. The BaseDAO.java is the superclass for the EmployeeDAO.java, InterviewDAO.java, HRDAO.java, ProcessDAO.java subclasses. In the com.mycompany.hr.process package, there are classes such as the EmployeeBean.java, EmployeeBeanRemote.java, HRProcessBean.java, HRProcessBeanRemote.java, InterviewRFesultsBean.java, InterviewRFesultsBeanRemote.java are created. The business logic methods for the above classes are defined in the developed application. In com.mycompany.hr.vo package there are classes such as CandIntResults.java, CandidateProfile.java, EmpSalary.java, EmployeeCredentials.java, EmployeeProfile.java are created. The other module HR Portal-war.war is created which consists of the Servlets and Jsps. The web pages which were created are Login.jsp, Welcome.jsp, Index.jsp, ViewProfile.jsp, AddCandidate.jsp, InterviewResult.jsp, Registration.jsp. The sourcePackage includes only one package i.e. com.mycompany.hr.servlet package, includes the classes are HRProcessServlet.java, LoginServlet.java, RegistrationServlet.java, InterviewResult.java. This package classes extend the functionality of the HttpServlet superclass. Thus the two modules i.e. HRPortal-ejb.jar and HRPortal-war.war with their packages, its classes and methods are described. Figure 3. HR Portal Application after integrating into Net Beans IDE
  • 7. Computer Science & Information Technology (CS & IT) 331 Figure 4. Registration Details Page for HR Portal Application When the HR Portal application is made to deploy the application by Clean and Build it. At deployment by extracting its JEE Modules i.e. HRPortal-ejb.jar and HRPortal-war.war. The JBoss application server is started. Then the HR Portal application Figure 3 can be seen. If the candidate is already registered to the database then the candidate can directly Sign in the Page which is available in the Figure 3. If the candidate is new candidate, then by clicking on to the here button can be registered. The AddCandidate.jsp page is invoked (see Figure 4.). The AddCandidate.jsp page registers the candidates dynamically. Further, HRProcessServlet.java is invoked. In the invoked servletpage the Login is available. Upon clicking the here button, again the LoginServlet.java is invoked with it’s relevant functionality displaying the again the Figure 3. The HRProcessServlet.java is invoked and add the candidates details to the Database via the ProcessDAO.java and BaseDAO.java.Here the getConnection() will invoked to add the candidate details to the database. Further, Figure 5 will be generated. Figure 5. Servlet Invocation Web Page
  • 8. 332 Computer Science & Information Technology (CS & IT) Whenever the existing user login form i.e. login.jsp webpage, then the getConnection() will gets invoked. Again Figure 3 allows the existing user to do further more operations. Figure 6. Login Page of the HR Portal Application Whenever the existing user enters the Username and password (see Figure 6), the processDAO class executes by verifying the authenticate() method so that the relevant username and password which were entered in the login page is there in the database or not. If it has been found, then the LoginServlet.java in conjunct with the HRProcessSevlet.java gets invoked by displaying the webpage Figure 5. Figure 7. Welcome.jsp page for HR Application
  • 9. Computer Science & Information Technology (CS & IT) 333 In Figure 7, will invoked when ever the already existing candidate made the login. Again it contains the ViewProfile and ChangePassword. Upon Clicking on to the ViewProfile.jsp will gets displayed. The database used for this application is My SQL. The tables used in My SQL database which are used in the HR Portal application are Emp_Profile, Emp_Credentials, Emp_Salary, Candidate_Profile, Cand_Int_Results. The Emp_Profile table consists of attributes are emp_id, name, address, dob, experience, doj, email, mobile. The Emp_Credentilals table consists of attributes are emp_id, password. The Emp_Salary table consists of attributes are emp_id, designation, basic, da, hra, cca, pf. The Emp_Profile table consists of attributes are Regn_id, name, address, qual, email, mobile, experience. In order to test the developed Framework Studio, HR Portal Application is developed without developing of the enterprise application i.e. its business logic from the scratch. The Figure 3 and Figure 4 includes the components which consist of the text fields and buttons. Upon submitting the JSP page processed by the JBoss Server to generate the results from the server to display the web page that the candidate profile has been added using the Framework Studio. All the components which were dragged to the Canvas available on the palette and have been added to the web page without writing the code again for the components such as button, text field and labels. All the above said components are reused effectively with developing the components again from the scratch. 6. CONCLUSION The Framework Studio is proposed for the generation of code for a particular domain specific component. The proposed framework is tested for a HR portal application domain. The related components are extracted from the Framework Studio which is integrated with Net Beans IDE for deployment of HR Portal application. This increases the reusability of enterprise applications in particular domain. As more and more components are added to the Framework Studio, many applications can be deployed, which helps in reduction of time and budget. This helps in reduction of risk of software development to a large extent. As per the future work, it is necessary to identify the rarely used components and add to the pallet. One of the issues still lags in the related work is that the metrics for identifying the quality of reusable components. These metrics can be identified in the design phase or in the coding phase can help to reduce the rework by improving quality of reuse of the component and hence improve the productivity due to probabilistic increase in reuse level. So, the developed systems can be used to enhance the productivity and quality of software development much faster. ACKNOWLEDGEMENTS The work was partly supported by the R & D Cell of Muffakham Jah College of Engineering & Technology, Hyderabad, India. The authors would like to thank to all the people from Industry and Academia for their active support. REFERENCES [1] William B. Frakes, Kyo Kang: Software Reuse and Research: Status and Future, IEEE Transactions on Software Engineering”, Vol. 31, No. 7, July 2005
  • 10. 334 Computer Science & Information Technology (CS & IT) [2] Xichen Wang, Luzi Wang: Software Reuse and Distributed Object Technology, IEEE Transactions on Software Engineering, 2011. [3] Sametinger: Software Engineering with Reusable Components, Springer-Verlag, ISBN 3- 540-62695- 6, 1997. [4] Jianli He, Rong Chen, Weinan Gu: A New Method for Component Reuse, IEEE Transactions on Software Engineering, 2009. [5] Maurizio Pighin: A New Methodology for Component Reuse and Maintenance, IEEE Transactions on Softwrae Engineering, 2001. [6] Yong-liu, Aiguang-Yang: Research and Application of Software Reuse, ACIS International Conference on Software Engineeing, Artificial Intelligence, IEEE, 2007. [7] N Md Jubair Basha, Salman Abdul Moiz, A.A.Moiz Qyser: Performance Analysis of HR Portal Domain Components Extraction, IJCSIT, Vol. 2(5), 2011, 2326-2331. [8] Czarnecki, K., Eisenecker, U.W.:Generative Programming: methods, tools and applications. Addison Wesley, London, 2000. [9] Fuqing Yang, Bing Zhu, Hong Mei : Reuse oriented requirements modeling, Tsinghua University Press, Beizing, 2008. [10] W B. Frakes, R. Prieto-Diaz, C. Fox: DARE-COTS. A Domain Analysis support tool, Computer Science Society, 1997. Proceedings, XVII International Conference of the Chilean 10-15, Nov. 1997, pp 73-77. [11] J. Coplien, D. Hoffman and D. Weiss: Commanality and variability in software, IEEE Software vol. 15, No. 6, Nov-Dec. 1998, pp 37-45. [12] K.C. Kang, J. Lee, P.Donohoe: Featured Oriented Product Line Engineering, IEEE Software vol. 15, No. 6, pp 58-65, Jul- Aug 2002. [13] C. Atkinson, J. Bayer, D. Muthig: Component Based Product Line : The KobrA Approach,1st International Conference on Software Product Line Conference, Denver, 2000. Pp 289-310. [14] H.Gomma : Designing Software Product Lin eswith UML: From Use Cases to Pattern-Based Software Architectures, Addison Wesley, 2004. [15] http://www.andromda.org [16] http://www.gentleware.com [17] http://www.qt.nokia.com
  • 11. Computer Science & Information Technology (CS & IT) 335 Authors N Md Jubair Basha received his B.Tech. (IT) and M.Tech (IT) from JNTUH, Hyderabad He is presently working as Assistant Professor in Department of Information Technology, Muffakham Jah College of Engineering and Technology, Hyderabad, India. His research interest includes Software Reusability, Data Mining and Mobile Computing. He is an active member of IEEE and CSI. You can reach him at nawabjubair@gmail.com. Dr. Salman Abdul Moiz is working as a Professor in CSE/IT department at MVSR Engineering College, Hyderabad. He received B.Sc (Electronics) from Osmania University, MCA from Osmania University, M.Tech (CSE) from Osmania University, and M.Phil (CS) from Madurai Kamaraj University and Ph.D (CSE) from Osmania University. He worked as Research Scientist at Centre for Development of Advanced Computing, Bangalore. He has published 31 papers in various National/International Conferences and Journals. His areas of interests include Mobile databases, Software Process Improvements; Component based software development & Disaster Recovery. He is an active member of IEEE, IETE and CSI.