• No results found

A Conceptual Framework to analyze UML notations using SaaS : U-Code Generation

N/A
N/A
Protected

Academic year: 2021

Share "A Conceptual Framework to analyze UML notations using SaaS : U-Code Generation"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

82

A Conceptual Framework to analyze UML

notations using SaaS : U-Code

Generation

R.Lalitha 1, Dr.B.Latha 2, Dr.G.Sumathi 3

1

Prof. & Head, 2Prof. & Head, 3Prof. & Head Dept. Of CSE, Dept. Of CSE, Dept. Of IT

Rajalakshmi Institute of SaiRam Engineering College Sri Venkateswara college of Technology, Chennai & Chennai,Anna University, Engineering, Anna University, Research Scholar, Anna University India India

[email protected] [email protected] [email protected]

Abstract—Software Project development is a real challenge in Software engineering. Forward engineering a concept may be misinterpreted in several ways by different people if the diagrams used for analysis are not clear. To overcome these ambiguities, it has been proposed to develop a SaaS framework which provides additional information about the use case diagrams that can be posted in the framework. This helps to provide a uniform meaning and understanding to any user of the framework. Also, it provides a standard format for presenting the use case scenarios.

Index Terms—SaaS, forward engineering, framework

I. INTRODUCTION

Software Project development uses all the major software engineering activities. Right from the era of structured or procedural programming, forward engineering methodology has been used for a long time to develop and design code. Forward engineering [17] denotes the way or style of developing the program code from the diagrams like flow chart, algorithms, use case diagrams etc. Reverse engineering as the name implies the way of representing the diagrams from the code available. After the introduction of objects and classes in programming, the unified modeling notations were in greater use to represent the scenarios of project. The Unified modeling language uses several diagrams like use case diagrams, class diagrams, sequence diagrams, component diagram. Though all these diagrams are used in analysis and design stages of software project development, the automatic code generation has been done so far based on class diagrams. [19].

Generally, the use case diagrams are used in identifying the modules and in detail analysis of each module. But there are cases where each of these use are misinterpreted and they are not properly used in the development process. Hence, in this paper, we propose architecture for easier understanding of the use cases and generate the skeletal code for modules based on use case diagrams. This is extended as SaaS and as to be implemented in a Cloud service. Thus, this

proposed framework becomes a generalized and a common framework for identifying and generating codes for modules for any type of use case diagrams.

IIRELATEDWORKS

There are few software tools available in the software industry for the purpose of forward engineering and generating an automated code. But, class diagrams are generally used for code generation. For example, consider a class diagram for student and college library.

Fig 1 Class Diagram

This class diagram shows that it is one-to-n relation between the two classes. Also, while clicking on the class diagram, a skeletal code can be generated for example in c++ as follows: Class student { Char sname; Int rollno; Char dept; Void adddetails() {

Cout<<”enter student details” Cin>>sname

“ “ } }

(2)

83

These codes once executed may be used to store the details in a database. Also, this class diagram also helps to create a database by converting the attributes as fields in a database. This is the great benefit of class diagrams. But, the use case diagrams are used for analysis and design purpose in software development.

Generally, a master use case diagram shows the overall picture of major processes involved in software development. Each use case in a master user case diagram should be considered as a module. Based on that, sub modules can be generated and the use cases are drawn accordingly. But, they are not used for automatic code generation.

In this paper, we have proposed the idea of identifying the modules based on the descriptions given in use case diagrams.

IIIU-CODEFRAMEWORK

The use cases are those UML diagrams that show the relation between the actors and their responsibilities in project development [4].But, as the text inside a use case is in general English it can be written in any form with or without any grammar. It can be single word, group of words or sentence with or without proper meaning. Hence, it may be interpreted in different ways [11 by the programmers and analysts etc. For example, consider the following use case scenario:

Here, the use case contains a general word “application form”. It is connecting the student with the library. But, it is not clear whether it means to issue the application or submit the application or fill the application form or reject the application form. As there is no protocol to describe how to write in a use case it may be understood in any way. While designing a module, each programmer will develop four different types of modules based on the meaning they have understood from the use case diagram [16]. These confusions occur because the use case diagram drawn here is not semantically correct but syntactically correct.

Hence, it is felt that a framework can be developed to get more productive and relevant information related to project

development activities. The framework U-code defined by uses an advanced version of use case diagrams. It contains a pair of text boxes in each line. The first box represents the verb form and the second text box contains the noun form. Each use case pop out a box with numbers 1, 2, 3 etc. where the numbers will be dynamically generated as per the requirements of the developer. Each number again contains a pair of text boxes. Again, the first box represents the verb form and the second one represents the noun form. Once they are filled for each use case, they will be automatically stored in an editor eg. notepad. In the editor, based on the verb and noun forms, a skeletal code will be generated for each module. Based on the class diagram and the relationship between the classes a powerful source code can be generated. This will greatly reduce the initial work of the programmer and makes the program development easier.

This is diagrammatically represented as follows:

IVU-CODECREATION

The verb and noun together forms the module name. For example, in this scenario the verb is “issue” and the noun part is “Application”. These words will be stored in a database. The U-code will automatically open an editor. As a trial version, Java is considered as the programming language for development. So, following initial lines will be automatically written in the editor:

Public static void main() {

Void issue application() {

(3)

84

Int application no; Char name; Date issuedate; } Void function1() { } Void function2() { } }

The variable names can be obtained from the corresponding class diagrams. Also, the functions can be generated based on the contents given by the developer in the pop up cases. Thus, any number of modules can be generated based on the number of use cases given by the programmer.

V DEPLOYMENTOFU-CODEASSAAS

This U-code is not for any single application. This can be made generally assessable for any developer and for any type of application by implementing this U-code in the cloud environment as SaaS. SaaS which is called as Software as a Service is also referred as On-Demand Service. It is a part of cloud computing as Platform as a service, infrastructure as a service etc.

The U-Code architecture is as follows:

Fig. 4 U-Code Architecture

The U-code architecture automatically generates following code in java from the use case diagram as follows:

(4)

85

Fig.5 U-code generation

VI BENEFITS OF U-CODE AS SaaS

Generally, the cost of software is calculated based on the following. It can be charged based on the number of use cases given by the user in the cloud. Generally, the cost estimation of software [17] based on use cases are as follows:

LOC Estimate = N x LOC avg + [sa/sh-1]+ [Pa/Pb-1] x Loc adjust

Where

N actual number of use cases

LOC avg historical average LOC per use case for The subsystem

LOC represents an adjustment based on n% Of LOC avg where n is defined locally

Represents the difference between the Project and the average projects

Sa actual scenarios per use case Sb actual scenarios per use case for the

Type of sub system Pa Actual pages per use case

Ph average pages per use case for the type Of sub system

If t h e traditional programming is followed, the cost of development will be more because for each line code, cost is involved. In the U-Code generation, the cost may be considerably reduced as the part of code is

automatically generated. Also, as implemented in cloud, it becomes SaaS and can be used by anyone for a n y t ype o f software. The t i m e t a k e n f o r developing the software is also minimized.

VII CONCLUSIONS

In this paper we have not disused about the semantic meaning of the nouns and verbs given in the use cases. In future, it should be analysed. Also, as a trial b a s i s Java language is c o n s i d e r e d as t h e language for development of automatic code using the proposed U-code architecture. This can further be further extended to any programming language.

This paper after full implementation in the cloud will really be helpful for the programmers in software development. Nearly, 2 0 % of t h e t i m e taken in software development is spent in explaining the concept and interpreting the diagrams. This may be done by d ifferent way by different people. The proposed U-code as SaaS makes forward engineering a product much easier.

VIII REFERENCES

[1] Amazon.com, “Amazon s3 availablity event: July 20, 2008”, Online at

http://status.aws.amazon.com/s3-20080720.html, 2008.

[2] “A Mordern Language for Mathematical Programming”, Online at http://www.ampl.com.

[3] M. Arrington, “Gmail Disaster: Reports of mass email deletions”,

Online at http: // www.techcrunch.com/2006/12/28/gmail-disasterreports-ofmass-email-deletions/, December 2006.

[4] Basu A, Vaidya J, Kikuchi H, Dimitrakos T(2011)

Privacy-preserving collaborative filtering for the cloud. In Proceedings of the 3rd IEEE International Conference on Cloud Computing Technology and Science (Cloudcom), Athens, Greece

[5] P. S. Browne, “Data privacy and integrity: an overview”, In Proceeding of SIGFIDET ’71 Proceedings of the ACM SIGFIDET (now SIGMOD), 1971.

[6] A. Cavoukian, “Privacy in clouds”, Identity in the Information Society, Dec 2008.

[7] J. Du, W. Wei, X. Gu, T. Yu, “RunTest: assuring integrity of dataflowprocessing in cloud computing infrastructures”, In Proceedings of the 5thACM Symposium on Information, Computer and Communications Security (ASIACCS ’10), ACM, New York, NY, USA, 293-304.

[8] R. Gellman, “Privacy in the clouds: Risks to privacy and confidentiality from cloud computing”, Prepared for the World Privacy Forum, online at

(5)

86

http: //www.worldprivacyforum.org/pdf/WPF Cloud

PrivacyReport.pdf, Feb 2009.

[9] The Official Google Blog, “A new approach to China: an update”,

online at http://googleblog.blogspot.com/2010/03/new-

approach-to-chinaupdate html, March 2010.

[10] N. Gruschka, M. Jensen, “Attack surfaces: A taxonomy for attacks on

cloud services”, Cloud Computing (CLOUD), 2010 IEEE 3rd International

Conference on, 5-10 July 2010.

[11] W. Itani, A. Kayssi, A. Chehab, “Privacy as a Service: Privacy-Aware Data Storage and Processing in Cloud Computing Architectures,” EighthIEEE International Conference on Dependable, Autonomic and Secure

Computing, Dec 2009.

[12] M. Jensen, J. Schwenk, N. Gruschka, L.L. Iacono, “On Technical Security Issues in Cloud Computing”, IEEE International Conference on Cloud Computing, (CLOUD II 2009), Banglore, India, September 2009, 109-116.

[13] J. Kincaid, “MediaMax/TheLinkup Closes Its Doors”, Online at

http://www.techcrunch.com/2008/-7/10/mediamaxthelinkup-closes-itsdorrs/, July 2008.

[14] B. Krebs, “Payment Processor Breach May Be Largest Ever”,Online at

http:/ /voices.washingtonpost.com/securityfix/2009/01/ payment processor breach may b.html, Jan, 2009. [15] M. Dijk, A. Juels, “On the Impossibility of Cryptography Alone for Privacy-Preserving Cloud Computing”, HotSec 2010.

[16] P. Mell, T. Grance, “Draft NIST working definition of cloud computing”, Referenced on June. 3rd, 2009, Online athttp://csrc.nist.gov/groups/SNS/cloud-

computing/index.html, 2009.

[17] P. F. Oliveira, L. Lima, T. T. V. Vinhoza, J. Barros, M. M´edard, “Trusted storage over untrusted networks”, IEEE GLOBECOM 2010, Miami, FL.USA.

[18] Pressman, Software Engineering, Sixth Edition [19] A. Shamir, “How to share a secret”, Commun. ACM 22, 11(November 1979).

[20] S. H. Shin, K. Kobara, “Towards secure cloud storage”, Demo for CloudCom2010, Dec 2010.

[21] C. Wang, Sherman S.-M. Chow, Q. Wang, K. Ren, W. Lou, “Privacy preserving public auditing for secure cloud storage”, in InfoCom2010, IEEE,March 2010.

Figure

Fig 1 Class Diagram
Fig. 4 U-Code Architecture

References

Related documents

Through use of extensive literature review, a survey of Liberal Studies students and interview with an International Programs Manager at California State University Monterey Bay,

5) To provide flexibility to Dispatcher of goods to choose a privacy policy for tags (and possibly update it) RFID Tagged Goods Sentinel Authenticating Agent Local

We added this question to the survey during the period of firm interviews, because firms often spontaneously gave this as a reason for why they engage in barter. The later

Congratulations to Lisa Rosenthal (advisor Sheri Levy) for being awarded a 2009 Society for the Psychological Study of Social Issues Grants-in-Aid Dissertation Award with

• International Public Sector Accounting Standard IPSAS 6 Consolidated Financial Statements and Accounting for Controlled Entities, paragraph 39, notes that “in preparing

Pada usia satu (1) tahun idealnya berat badan anak adalah 8 – 11 kg (untuk melihat pertumbuhan sesuai umur anak dapat dilihat dalam Buku KIA halaman 40 grafik Kartu Menuju Sehat

75 Lerdahl and Krumhansl (2007)... progressions—are precisely those that I have argued for with regard to the modeling of perception. Perhaps these aspects of ST constitute a

For example, when creating your initial ideas and nascent solutions, it’s helpful if people work individually (e.g. sketching, storyboarding tasks). This technique fosters