Software Modeling andits techniques Mahreen KousarMS170400833 Department of Computer Sciences Virtual University of Pakistan, Lahore Pakistan Abstract— Software development is a complicatedprocess but the complexity can be minimized by using different approaches oneof which is software modeling. Models play a very important role in theproduction of software development.
Software models are constructed with thehelp of some abstract languages, graphs and pictures through them a softwaredesign can be defined exactly as what the real system will do. There will benumerous tools that will help in software modeling and system design. In thispaper the main discussion is software modeling and the ways in which it helpsto discover problems at beginning stage and let the software engineering tocorrect them without bearing a big loss.
Software modeling leads whole softwareproduction process to such a noteworthy success and quality of software that isrequired.Software modeling benefitsmay include better understanding of the required software, accuratespecification of required software and metrics for the verification andvalidation of the software.by using modeling techniques we can test the qualityof our software that will be produced.So, the software modeling isconsidered as the initial step to apply software engineering process andsimulation. All the problems that are rising in software development can befound out in modeling process.
In modeling process particular details arementioned and ways to map them are described.Different modeling techniques likeobject-oriented modeling, functional modeling and dynamic modeling are used forsoftware modeling. These modeling techniques provide platform forcommunication, set the software boundary, defines partitions, abstractions andprojections. Keywords— softwaremodeling, software development, software engineering, simulation, modelingtechniques, abstractions, partitions, projections Introduction:Software modeling is considered as themajor aspect of the whole process of software development.
Adoption of modelingtechniques in the process of software development make sure that the producedsoftware will be outstanding and standard software. Software models areconstructed to communicate the desired structure and behavior of the system. Byusing different software modeling techniques a system architecture can bevisualized and different ways to control a system are found.Simulation and modeling makes asystem’s behavior understandable and provides opportunities to fill updeficiencies and provides simplifications. High risk of failure of software infuture are minimized. Software modeling depicts the real picture of a softwaredesign, its interface that how it will interact with other systems and how thissystem will react in some certain situations or under critical conditions.
Useof models make whole software development process understandable and creates anenvironment of interaction among different stakeholders.Object-oriented software modelingtechnique is used when real life objects are used directly and explicitly andalso provides such a structure in which object inherit properties from their parentclass. Functional modeling or functional –oriented modeling is a ranking offunctions and activities. Most abstract functions and least abstract functionsare described in this technique.
All the functions And activities are in an order and ina sequence. Different types of functions related to this technique will bediscussed in detail in section I. Dynamic modeling is concerned with suchfeatures that are dynamic like time and other changing values. This techniqueworks with flow controls operations, interactions and sequence of process. Next in this paper section I will describe different softwaremodeling techniques.
Section II willdescribe related work. Section III willdescribe analysis and section IVwill describes conclusion.Section I:Modeling techniques— Object-oriented modeling technique:The object-oriented modeling techniqueis a technique in which the main concern is objects just like objects as inreal life. For software modeling different abstract languages are used forexample UML for object oriented modeling .UML uses different objects, diagramsand use cases.UML is used for visualization,specification, construction and documentation of an object-oriented system. UMLrepresents a system physically and conceptually.
Object oriented modeling techniquewas developed in 1991, Blaha, Premerlani, Eddy and Lorensen as an approach todevelop object-oriented systems.Object-oriented modeling technique includes:· To test the physicalentities before constructing them · interaction withclients,· Visualization(alternative presentation of information), and Minimization of complications.UML defines different concepts that are following:It will define Static structure of the system as well as Dynamicbehavior of the system.How a system will be implemented.
Model of the required software.Different approaches for modeling. In object oriented modeling the first thing isto describe the basis of the application. Entities attributes and therelationship between these entities. Application basic means to define classes,discrete objects of each class and their information. This information isconsidered as the attributes of the entities of the class.And the functionalities of these entities isconsidered as operations. Object-oriented model: Functional modeling: In software modeling a functional modelingtechnique represents the structure of the required software.
All theprocedures. Processes, activities and functionalities of the required systemsare defined by this technique. As it is homogenous to the activity model andprocess model, it models a system graphically. This technique will define allthe functionalities of the enterprise and will calculate the overallexpenditure of the product development.
Functional modeling is concerned withfunctionalities that is also concerned with business process modeling.This technique also deals with dynamicprocess and data flow diagrams are the best example of it. Four notations areused to define a process these are; process, data collection, flow control andentity attributes.Dynamicmodeling:A dynamic model in software modeling is concerned withbehavior of an object or entity over time. This technique is used where thechanging behavior of an object is to be calculated as a set of states in a sequentialmanner. A state cannot be repeated if once it is approved.Related work: Themain role that software development concerned with in the production andapplication of information technology, managers are highly concerned withprocess betterment in the software production.
This requirement results in thecreation of new approaches for developing software with easy and efficient wayslike object-orientation (OO). As the main concern is process betterment hasraised the demand for software quality. When an organization meets with somenew technology it needs all new approaches. Researches have been made on suchissues and many needs for the development of new versions of matrices for OOdesign are appeared. The old versions of the OO design are working efficientlyand are worth to describe but it is necessary to make them more attractive.In 1989Wand and Weber were selected the theoretical base for metrics of bunge 1977.
Sixdesign metrics was made and then its evaluation was made against Weyuker’s 1998.Anautomated data collection tool was then developed and implemented to collect anempirical sample of these metrics at two field sites in order to demonstratetheir feasibility and suggest ways in which managers may use these metrics forprocess improvement.Modelingwith functional technique is originated back to late 19th century.
At very first, business activity diagrams actions and operation of the processare pictured and their emergent become true in the mid of 20thcentury. Frank gilbreth inaugurated flow process chart by American Society of MechanicalEngineers. William Gosling a British engineer was the first person tointroduced the function model. Analysis:Different terminologies like modelingfacilitate the development of software. Modeling process is the initial stageof the production of the software as it tells about any defects in coming nextin development and saves from any loss timely. Why modeling is need, the answeris the models are complete descriptions and are understandable. The firstlydescribed technique object-oriented technique utilize thesoftware development life cycle in the very beginning of it. Software developmentcycle is partitioned into different steps starting from abstract definition tothe end of successful design.
By modeling systems functionalities and systemspecifications are considered precisely. And implementation of these models findout that how to fix the found issues.In this paper it is argued thatobject-oriented technique lessen the gap between entities and real worldobjects. Object-oriented modeling technique uses UML and use cases for betterresults. Conclusion:Modeling and simulation plays verysignificant role for software development. Now a days, modeling techniques arewidely used and have a high scope as it results in high quality softwareproduction.
This paper maps between three techniques of software modeling whichare used according to the situations occurs in development process.This paper explains in which situationwhich modeling technique will be used. Finally it concludes the best modelingpractices and modeling significance. This paper argues on the specificationon the modeling in different fields of software development. Because softwaremodeling provides precise description of the system or software that will beproduced or simulated. And by using different modeling techniques wouldobviously make easier the development process. Now a days, modeling techniquesare widely used because of their efficient work in the production of software. References:1 Djedjiga Mouheb, Mourad Debbabi,Makan Pourzandi, LingyuWang, Mariam Nouh, Raha Ziarati, DimaAlhadidi,Chamseddine Talhi, Vitor Lima.
“Unified Modeling Language.”Aspect-Oriented Security Hardening ofUML Design Models.Springer International Publishing,2015. 11-22.2 Omar Badreddin, Timothy C.Lethbridge, and Maged Elassar.”Modeling Practices in OpenSource Software.” Open SourceSoftware: Quality Verification.
Springer Berlin Heidelberg,2013. 127-1393 ‘Software Requirements: Objects,Functions, and States’ by Al. Davis, 19934 ‘The Unified Modeling LanguageUser Guide’ by G. Booch, J. Rambaugh, & I.
Jacobson, Addison-Wesley, 19985 Arthur D. Hall (1962). AMethodology for Systems Engineering. Van Nostrand Reinhold. ISBN 0-442-03046-0.6 Jump up ^ William Gosling (1962)The design of engineering systems. p.
237 Jump up ^ Tim Weilkiens (2008).Systems Engineering with SysML/UML: Modeling, Analysis, Design. Page 287.8 Jacobsen, Ivar; MagnusChristerson; Patrik Jonsson; Gunnar Overgaard (1992). Object Oriented SoftwareEngineering. Addison-Wesley ACM Press. pp.
15,199. ISBN 0-201-54435-0.8. IEEE-CS/ACM, Joint Task Force onComputing Curricula: Computing Curriculum -Software Engineering: Final Report.ACM/IEEE, 2004.