4
Suggested Methodologies for Enhancing SAD Neha Sharma 1 , Deepali Sawai 2 1 Pad. Dr. D.Y.Patil Institute of MCA, 2 Institute of Industrial & Computer Management & Research, University of Pune 1 Sector-24, Nigdi Pradhikaran, Pune, Maharashtra,India; 2 Sector 27 A , Nigdi Pradhikaran, Pune, Maharashtra , India 1 [email protected] 2 [email protected] AbstractIn recent years, there has been a surge of interest in object oriented analysis and design methodology. Considering the advantages and limitations of both the approaches of system analysis and design (SAD), this paper suggests few methodologies. The proposed approach helps to smoothen the up gradation of existing system that has been designed using structured approach to more flexible and reusable object oriented environment. Keywords—Structured Analysis and Design methodology, SSAD, Object Oriented Analysis and Design methodology, OOAD, SAD, ERD, DFD, use case, class diagram, purchase order system I. INTRODUCTION Object oriented analysis and design methods OOAD) and structured system analysis and design (SSAD) have played important role which has significant impact in software development. Object-oriented methods implemented in software development can be easily reused, refined, tested, maintained and extended. Hence, the flexible development process in business is brought by object-oriented techniques. Functional-oriented methods in software development improve the program performance, centralize the program management and minimize the program statement. Thus, the functional-oriented techniques are extensively used in industries. In the future, software design and development method intends to combine functional and object-oriented approach and thereby the two models are related together to combine the two different views of system [1]. The database is now such an integral part of our day to day life that often we are not aware we are using one [2]. Increasing complexities in data type, necessitates the change or up gradation of database. Many companies recognize the value of Object Technology to handle complex data, but are reluctant to abandon their existing relational databases. However, the benefits of object technology are so compelling that the companies desire to adopt it without much alteration in existing system. These "intelligent" databases will revolutionize database. The focus of our study is to suggest the methodology to smoothen the up gradation of existing system or application that has been designed using structured approach to futuristic object oriented environment by increasing design quality and improving the productivity in software development. II. LITERATURE REVIEW Narayanan, Bodner, Sreekanth and Govindarai [3] state in their study that object oriented programming has a major effect on implementation via its facilitation of modular design and software reusability. The features of object oriented programming can build simulation models and implement reusable classes and store them in a software library, thus can help in rapid development. According to research by Bruccoleri, Diega and Perrone [4] it is confirmed that object oriented techniques improve manufacturing control system. The study shows that business organizations need to develop their system in flexible and automated ways. They suggested flexible manufacturing system “FMS” to support uncertainties from internal or external environments. Chin and Gary [5] state that OOT can change the component depending on the real environment. The study further indicates that modelling of actual devices and process can make the real-world system which can enable the computer model to change accordingly with real-world changes in actual physical devices. As a result, it assures the working process that has the result of determinism, save cost and provides real-time control and it is suitable for chemical industries. Further, according to research by Sodhi and Sodhi [6] it is confirmed that object oriented structured design “OOSD” is to support system into software architecture. As per the study, the most important aspect of object oriented structured design is reuse of designs. As a result, a generic class’s resource can be used in the derived class for many system and application. According to Alpuente, Falaschi and Vidal [7] functional logic programs are able to automatically improve program performance without changing the computational meaning and which still guarantees termination. This research indicates that the function-oriented method in software development is beneficial on integral program performance. Also, according to Hoffer, George and Valacich [8] software development of function-oriented model is usually followed by the process modelling diagrams. These diagrams illustrates the movement of data between external entities, processes and data stores within a system. The research claims that the functional-oriented design method which improves the program performance and productivity is generally used in industries and business program. Satzinger, Jackson and Burd [9] support the functional- oriented approach. The study suggest that the centralize management is successfully used in business and industries program, therefore it is maintainable. Johnson [10] indicates that the use of functional-oriented model in database program is essential. The author compares 2011 Fourth International Conference on Emerging Trends in Engineering & Technology 978-0-7695-4561-5/11 $26.00 © 2011 IEEE DOI 10.1109/ICETET.2011.49 1

[IEEE 2011 4th International Conference on Emerging Trends in Engineering and Technology (ICETET) - Port Louis, Mauritius (2011.11.18-2011.11.20)] 2011 Fourth International Conference

  • Upload
    deepali

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Suggested Methodologies for Enhancing SAD Neha Sharma1, Deepali Sawai2

1Pad. Dr. D.Y.Patil Institute of MCA, 2Institute of Industrial & Computer Management & Research, University of Pune 1Sector-24, Nigdi Pradhikaran, Pune, Maharashtra,India; 2Sector 27 A , Nigdi Pradhikaran, Pune, Maharashtra , India

[email protected] [email protected]

Abstract—In recent years, there has been a surge of interest in object oriented analysis and design methodology. Considering the advantages and limitations of both the approaches of system analysis and design (SAD), this paper suggests few methodologies. The proposed approach helps to smoothen the up gradation of existing system that has been designed using structured approach to more flexible and reusable object oriented environment. Keywords—Structured Analysis and Design methodology, SSAD, Object Oriented Analysis and Design methodology, OOAD, SAD, ERD, DFD, use case, class diagram, purchase order system

I. INTRODUCTION

Object oriented analysis and design methods OOAD) and structured system analysis and design (SSAD) have played important role which has significant impact in software development. Object-oriented methods implemented in software development can be easily reused, refined, tested, maintained and extended. Hence, the flexible development process in business is brought by object-oriented techniques. Functional-oriented methods in software development improve the program performance, centralize the program management and minimize the program statement. Thus, the functional-oriented techniques are extensively used in industries. In the future, software design and development method intends to combine functional and object-oriented approach and thereby the two models are related together to combine the two different views of system [1].

The database is now such an integral part of our day to day life that often we are not aware we are using one [2]. Increasing complexities in data type, necessitates the change or up gradation of database. Many companies recognize the value of Object Technology to handle complex data, but are reluctant to abandon their existing relational databases. However, the benefits of object technology are so compelling that the companies desire to adopt it without much alteration in existing system. These "intelligent" databases will revolutionize database.

The focus of our study is to suggest the methodology to smoothen the up gradation of existing system or application that has been designed using structured approach to futuristic object oriented environment by increasing design quality and improving the productivity in software development.

II. LITERATURE REVIEW

Narayanan, Bodner, Sreekanth and Govindarai [3] state in their study that object oriented programming has a major

effect on implementation via its facilitation of modular design and software reusability. The features of object oriented programming can build simulation models and implement reusable classes and store them in a software library, thus can help in rapid development.

According to research by Bruccoleri, Diega and Perrone [4] it is confirmed that object oriented techniques improve manufacturing control system. The study shows that business organizations need to develop their system in flexible and automated ways. They suggested flexible manufacturing system “FMS” to support uncertainties from internal or external environments.

Chin and Gary [5] state that OOT can change the component depending on the real environment. The study further indicates that modelling of actual devices and process can make the real-world system which can enable the computer model to change accordingly with real-world changes in actual physical devices. As a result, it assures the working process that has the result of determinism, save cost and provides real-time control and it is suitable for chemical industries.

Further, according to research by Sodhi and Sodhi [6] it is confirmed that object oriented structured design “OOSD” is to support system into software architecture. As per the study, the most important aspect of object oriented structured design is reuse of designs. As a result, a generic class’s resource can be used in the derived class for many system and application.

According to Alpuente, Falaschi and Vidal [7] functional logic programs are able to automatically improve program performance without changing the computational meaning and which still guarantees termination. This research indicates that the function-oriented method in software development is beneficial on integral program performance.

Also, according to Hoffer, George and Valacich [8] software development of function-oriented model is usually followed by the process modelling diagrams. These diagrams illustrates the movement of data between external entities, processes and data stores within a system. The research claims that the functional-oriented design method which improves the program performance and productivity is generally used in industries and business program.

Satzinger, Jackson and Burd [9] support the functional-oriented approach. The study suggest that the centralize management is successfully used in business and industries program, therefore it is maintainable.

Johnson [10] indicates that the use of functional-oriented model in database program is essential. The author compares

2011 Fourth International Conference on Emerging Trends in Engineering & Technology

978-0-7695-4561-5/11 $26.00 © 2011 IEEE

DOI 10.1109/ICETET.2011.49

1

both of the design method in business model, and concludes that object-oriented development performance may not be better than procedural development.

Potok and Vouk [11] tried to explore the relationship between the business model and the productivity that a software development methodology can achieve in a commercial environment. As per the study, the object-oriented development performance does not perform better than procedural development in the absence of incentive environment which is for early completion of intermediate project tasks. This research indicates that functional-oriented method in industries program is better than object-oriented method.

III. SYSTEM ANALYSIS & DESIGN METHODOLOGIES

A. Evolution of Analysis and Design Methodologies In earlier days, software development life cycle use to

follow structured system analysis and design (SSAD) method which is a traditional approach of software development, and also a most popular paradigm. In this approach, the entire system is decomposed on the basis of functionality, which may further be divided till the time simple and manageable functionality is not achieved. Languages like C, FORTRAN, Pascal, COBOL etc. are used to develop the system using this approach. This approach has few disadvantages. It ignores non-functional requirements. It does not provide enough user-analyst interaction. With this approach, it is hard to decide when to stop decomposing. It doesn’t address stakeholders’ needs completely.

Object oriented analysis and design (OOAD) method is applied to software development life cycle of objects that model the business procedures, roles and rules within organizations. The essence of this approach is extraction of model from real world entities and their various responsibilities. Object oriented analysis determines what a system must do to meet the needs of customer i.e. resultant requirement specification should clearly describe WHAT the software’s external behaviour should be, without prejudgement about HOW the exact behaviour will be produced. Analysis is a crucial phase as it provides the basis for design and construction, whereas this stage is free from design and implementation consideration. As the analysis merges into design, lower level classes can be drawn to illustrate more internal details of the classes. During object oriented design, analysis objects are redefined. At this stage, additional objects required to map to the solution into the target hardware and/or software environment are created or identified. Also, the common feature to produce generic data / function types which form a class hierarchy is abstracted. Class design involves developing functionality associated with specific classes and developing class relationships and hierarchies. Application design is achieved in bottom-up fashion after constituent class design is complete.

Both SSAD and OOAD had started off from programming techniques. Both the techniques use graphical design and graphical tools to analyse and model the requirements with the absolute focus on documentation. Thus, provides a systematic

step-by-step process for developers. Both the approach would provide the better results only when the problem domain is well known and SRS is specified properly.

SSAD is process-oriented whereas OOAD is data-oriented. OOAD encapsulates the systems' data and processes into objects while SSAD separates between them.

B. Evolution of Databases The computers were initially used to carry out basic

calculations, where large amount of data need not be stored. Later when the need to store the data was felt, it was achieved through file system. The limitations of file system were overcome with the advent of database systems. Database systems allowed the users to store, access and modify the data and provided the abstract view of data in tables and records by hiding the actual storage details. In 1970, Codd suggested 13 rules for Relational Database Management System (RDBMS). Advancement of new technology like internet, mobile etc. increased the complexity of the data and its storage. Therefore traditional RDBMS are not well suited for supporting these complex applications. Therefore the need of object oriented approach arise.

IV. EXTENDING THE EXISTING SYSTEM

Many companies are using a system that has been developed using SSAD approach, almost decade back. Now those system requires up gradation to adopt the interactive, dynamic and reusable feature.

A. Structured Approach for Business Process SSAD techniques are fundamental tools of systems

analysis, and are developed from classical systems analysis of the 1960s and 1970s [12]. Structured Analysis became popular in the 1980s and is still used in many applications. In SSAD approach, there are several tools that helps in the structured analysis of the system like: DFD, Decision Tree, Structured English, Decision Table, ERD etc. Two popular models have been considered for this paper.

1) Data Model (Entity Relationship Diagram): Once the business process is understood well, the data that needs to be stored should be identified. Entity Relationship Diagrams are considered to be a major data modelling tool which helps in organizing the data in the project into entities and defining the relationships between the entities. This process has proved to enable the analyst to produce a good database structure so that the data can be stored and retrieved in a most efficient manner. The ER diagram gives a clear cut idea about the tables as well as the primary key, foreign key required for the table. The cardinality suggests the number of occurrences of one entity to which the other entity can be associated via a relationship.

2) Process Model (Data Flow Diagram): The functional decomposition diagram and Data Flow Diagram gives the functionalities or processes required in the system. DFD graphically represents the processes that capture, manipulate, store and distribute data between a system and its environment and also among system components. It also illustrates the

2

movement of data between external entities, the processes and data stores. The context level diagram of DFD explains the scope of the system. Whereas 1st level DFD gives the idea about the master and transaction table or file being generated along with the processes that actually create it. B. Object Oriented Approach for Business Process

In the current scenario, the need is to develop web –based interactive and dynamic system, therefore, the complexity of the system increases many folds. It’s difficult to handle this complexity by SSAD. In OOAD, there are several tools that helps in the object oriented analysis of the system like: Use Case, Class Diagram, Sequence Diagram, Collaboration Diagram, Deployment Diagram, Object Diagram etc. Two popular models have been considered for this paper.

1) Functional Model (Use Case): A depiction of a system’s behaviour or functionality as the system responds to user’s request under various conditions. Use case diagrams describe what a system does from the standpoint of an external observer/stake holder. The emphasis is on what a system does rather than how.

2) Class Diagram: A class diagram is a static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes. The class diagram is the main building block in object oriented modelling. It is used both for general conceptual modelling of the application, and for detailed modelling translating the models into programming code [13].

3) Sequence Diagram: Sequence Diagram determines the system events and operations. It is derived from Use Cases, and mark the typical course of events. It helps in identifying the system functionality and sequence of operations to be designed and also to identify system boundary that is very critical.

V. FINDINGS

A. Symantec Overloading Problem

In SSAD approach, the system is introspected and designed separately in terms of entities and functionalities by using data model (ERD) and process model (DFD). Practically, for the design and implementation purpose these models become useful only if there is a perfect link between the files/data stores created in DFD and the entities represented in ERD. Generally, the one to one correspondence is found to be missing with respect to the name of entities and attributes shown in ERD, name of the files/data stores represented in DFD and database tables actually created to store the data. Thus, back tracking the system for modification, maintenance and error rectification becomes troublesome.

The above problem of semantic over loading can be very efficiently handled in OOAD, where problem is decomposed in terms of objects and its behaviour. From the analysis phase to testing / maintenance phase, the objects and classes are

identified and created with a name that remains the same throughout the SDLC, facilitating the backtracking.

B. Absence of User Interface Model DFD represents the in-direct stakeholders or the passive

users apart from the direct beneficiaries or active stakeholders of the system. Whereas, Use Case Diagram gives a better understanding of not only the processes involved in the system but also the user interfaces required for the users who would be using the system directly.

C. Absence of the Dynamic Model In SSAD, there is no model or diagram to capture

dynamism of the system and to understand how the system behaves when it actually starts working. Whereas, it is very much possible in OOAD with the help of State Transition Diagram, Sequence Diagram in various scenarios.

VI. SUGGESTION The study proposes the following methodologies for

enhancing SAD:-

A. Case 1: To extend the existing system that has been developed using a structured methodology

Step 1: To understand the requirements of the system with the help of existing SRS and Logic DFD and draw the Physical DFD if not available. Step 2: To understand the advanced requirements with the help of Physical DFD drawn in step 1. Step 3: To identify various active stake holders/ beneficiaries of the system and their interaction with the system, the Use Case diagram of the system may be drawn by using the Logical DFD, Physical DFD and Advanced Requirement Specification. Step 4: To understand the dynamic behaviour of the advanced system, a “structured sequence diagram” may be drawn with the help of processes shown in the existing DFD and Use Case drawn in the step 3. The function name may be used in place of object and the function calls may be written in place of messages. This will give the idea about the dynamic behaviour of the system for various execution paths. Step 5: The entities and the relationship shown in the existing ERD may be helpful in suggesting the classes needed for up grading the system. The ERD may help in the identification of data members whereas structured sequence diagram drawn in the step 4 may be used for identification of member functions required for drawing the class diagram Step 6: Implementation of the suggested methodology by through appropriate Object Oriented language. Fig.1 shows the diagrammatic representation of above methodology which may smoothen the transition from the SSAD approach to the enhanced OOAD approach.

3

Fig. 1 Context Level Analysis Process

B. Case 2: Developing a new system with a proposed approach.

Step 1: Draw a Physical DFD because it represents an implementation independent view of the current system, showing what tasks are carried out and how they are performed is better understood with the use of Physical DFD. Step2: Draw Use Case diagram to understand how user interacts with the system. Step 3: Draw ERD to understand the entities and the relationship among them. Step 4: Draw Sequence diagram to understand the communication among the entities. Step 5: Draw class diagram based on ERD using the same name for class and member function as that of entities and its attributes.

Step 6: Design Database and implement the system using the appropriate language.

VII. CONCLUSION The object-oriented method can increase the design quality

and improve productivity in software development, where as function-oriented design will continue alongside to it because of a large amount of legacy code which has been designed using functional-oriented approach. Therefore, the view of object-oriented methods and functional-oriented method in software development indicate that both techniques are beneficial. Thus, the suggested methodologies would be helpful not only to design and develop the system but also to understand the problem statement and the system details very well by combining the best of both the approaches.

REFERENCES [1] http://www.freeonlineresearchpapers.com/object-oriented-methods-

structual [2] Thomas M. Conolley, Carolyn E. Begg, Database Systems-A Practical

Approach to Design, Implementation and Management, Third Edison [3] Naranayan, S. & et al. (1998). Research in Object-Oriented

Manufacturing Simulations: An Assessment of the state of the art [Online], Vol. 30, Iss 9: pg. 795, 16 pgs. Available: Proquest5000 [10-10-2005]

[4] Broccoleri, M. & Diega, S. N. L. & Perrone, G. (2003). An Object-Oriented Approach for Flexible Manufacturing Control Systems Analysis and Design Using the Unified Modeling Language [Online], Vol. 15, Iss. 3; pg. 195. Available: Proquest5000 [09-10-2005]

[5] Chin, K. & George, P. W. G. (1997). Controlling the Future: Object-Oriented Technologies and the Internet are making an Impact on the Future of Control Strategies [Online], Vol. 104, Iss. 12; pg. 74. Available: Proquest5000 [10-10-2005]

[6] Sodhi, J. & Sodhi, P. (1996). Object-Oriented Methods for Software Development. McGraw-Hill Company, Inc. United States.

[7] Alpuente, M. & Falaschi, M. & vidal, G.. (1998). ACM Transactions on Programming Languages and Systems (TOPLAS), [Online]. Available: http://portal.acm.org.ezproxy.uow.edu.au:2048/citation.cfm?id=291896&coll=ACM&dl=GUIDE&CFID=56778704&CFTOKEN=45582611 [Accessed 9 Oct 2005]

[8] Hoffer, J. A. & George, J. F. Valacich, J. S (1999), Modern systems analysis and design(2nd ed.), Addison-Wesley, USA.

[9] Satzinger, J. W & Jackson, B. R. & Burd, S. D (2000), The traditional approach to requirements, Systems analysis and design in a changing world, Course Technology, Cambridge.

[10] Johnson, J.L(1997), Basic SQL, Database models, languages, design, Oxford University Press, New York.

[11] Potok, T. E. & Vouk, M.A.(1997), The effects of the business model on object-oriented software development productivity, IBM Systems Journal. vol. 36, Iss. 1 pg. 140, 22 pgs . Available: Proquest 5000 [Accessed 9 Oct 2005]

[12] Edward Yourdon (1986). Managing the Structured Techniques: Strategies for Software Development in the 1990s. Yourdon Press. p.35. J. Breckling, Ed., The Analysis of Directional Time Series: Applications to Wind Speed and Direction, ser. Lecture Notes in Statistics. Berlin, Germany: Springer, 1989, vol. 61.

[13] Scott W. Ambler (2009) UML 2 Class Diagrams. Webdoc 2003-2009. Accessed Dec 2, 2009

4