• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Quantify the Functional Requirements in Software System Engineering

Quantify the Functional Requirements in Software System Engineering






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Quantify the Functional Requirements in Software System Engineering Quantify the Functional Requirements in Software System Engineering Document Transcript

    • International Journal of Computer Applications (0975 – 8887) Volume 43– No.24, April 2012 An Approach to Analyze and Quantify the Functional Requirements in Software System Engineering M.Karthika, X.Joshphin Jasaline K.Alagarsamy, Assistant Professor Anitha Associate professor MCA Department Assistant Professor Computer Centre NMSS Vellaichamy Nadar MCA Department Madurai Kamaraj University College NMSS Vellaichamy Nadar Nagamalai,Madurai, Nagamalai,Madurai, College Tami Nadu, -India Tami Nadu, India Nagamalai,Madurai, Tami Nadu, IndiaABSTRACT process that applies to the overall technical management of aSoftware systems developed now-a- days are by and large system development project. This process provides themore complicated than the existing software. There are certain mechanism for identifying and evolving a system’s productfoundational activities for a system development like the and process definitions. System engineering involves fiveobjective of the system, operational requirements, role of functions: Problem definition, Solution analysis, Processhardware and software, the people working in it, database planning, Process control and Product evaluation [7].used and the procedures. On understanding the foundational System engineering provides the baseline for all projectactivities based on the System Engineering principle to development, as well as a mechanism for defining the solutiontransform an operational need into more descriptive and will space. The solution space describes the product at the highestlead to build a right and good product with customer level – before the system requirements are partitioned into thesatisfaction. The operational requirements of software system hardware and software subsystems.engineering have been classified already .In this paper, thefunctional requirements classified is common for all the The developed software has become very larger and moresoftware system developed. Also, it brought out the important complex than the existing software. The complexity has beenrole of functional requirements which can effectively be uses increased in variety of phases in the software development lifeto elicit information from the customers more precisely and cycle. The understanding of the problem must enforce theaccurately through Genetic Algorithmic approach. The GA below mentioned in system engineering [8].approach identifies, classifies and prioritizes the functional  Requirement analysisrequirements which will provide an insight into the system  Designarchitecture, also helps to communicate the operational andbehavioral characteristics of the new system.  Implementation  Verification & ValidationKeywords  Testing System Engineering focuses on variety of elements,System Engineering, Software System Engineering, analyzing, designing and organizing those elements into aFunctional requirements, product, Evaluation criteria system that can become a product, a service or a technology for the transformations or control. Software system1. INTRODUCTION engineering manages the technical function of the systemAs large systems functions and solutions are dependent on products, which produces set of documents. This is a technicalsoftware, System Engineering approach to the development of process which converts the analytical process into ansoftware will help to avoid the problems associated with the operational process such as [2],software crisis. These crisis are mainly on the project  Define the problemschedule, cost of estimation, customer satisfaction. A  Identify feasible alternativesSoftware product developed may face challenging facts, risks,  Select the evaluation criteriaand issues in managerial aspects such as logistics, lack of co-  Applying modeling techniquesordination between the teams developing the product as wellas the work process. The need to identify and manipulate the  Generate input dataproperties of a software system leads to the use of software  Manipulate the modelsystem engineering. [1] This paper categorizes and concentrates only on the functional requirements in the software requirement stage in accordance A system is a group of co-related objects that allows a with the principles of system engineering and its tools.common goal to be accomplished. In computer systems, theseelements include hardware, software, people, facilities, and 2. SOFTWARE SYSTEMprocesses. ENGINEERINGSystem engineering is the practical application of scientific,engineering, and management skills necessary to transform an The application of system engineering principle to theoperational need into a description of a system configuration development of a computer software system preparesthat best satisfies that need. It is a generic problem-solving activities, tasks and various set of procedures that is called as 29
    • International Journal of Computer Applications (0975 – 8887) Volume 43– No.24, April 2012software system engineering (SwSE).This SwSE can be growth in hardware performance as well as the softwarespecifically applied in the development of large complex performance by having reduced software system size whichsoftware systems that provides a powerful tool for process and makes the software more complex. The goal of SwSE is toproduct management. The software system is larger and has reduce the complexity through several stages of verificationhigh complexity in using it. This will attribute towards the and validation. Software System Engineering Requirement Design Planning Managing Verification, Validation, Analysis Testing Fig .1. Phases in Software System engineering activities to determine that they are following the technicalSoftware system Engineering manages the technical function and managerial plans, specifications, standards, andof the system products which produces the documents for procedures. V&V. evaluate the interim and final product ofreference. Evaluation criteria, a series of steps or an iterative software engineering.process using genetic algorithms can give this documentationreference. The user satisfaction must meet out through the system engineers. The success of software development process andTo achieve a successful process, planning is necessary. the system life cycles undergoes much revaluation process toPlanning tells us the goals in a project the objectives, redefine the functional requirements.strategies, polices, plans, and procedure. It tells us in advancewhat, how, when and who will do the process. To plan a 2.1 Requirement Analysissoftware engineering project we need SWSE management The first step in any software development activity is toactivities that lead in selecting a course of action from determine and document the system-level requirements inalternative possibilities and defining a program for completing either a system requirements specification (SRS) or a softwarethose actions. requirements specification or both. Software requirementsThe collection of management activities that used to ensure include capabilities that a user needs to solve a problem orthat the project goes according to the plan is known as process achieve an objective as well as capabilities that a system orcontrol. The performance and results against plans, notes component needs to satisfy a contract, standard, or otherdeviations measured using process control. It takes corrective formally imposed document. Software requirements analysisactions to ensure conformance between plans and actual begins after system engineering has defined the acquirer andresults. Process control gives us a feedback to the system for user system requirements. Its functions include identificationhow well the project is going. In system, engineering V&V is of all – or as many as possible – software systema continuous process of-monitoring system engineering, requirements, and its conclusion marks the establishedSwSE, software engineering, and project management requirements baseline, sometimes called the allocated baseline [3]. Fig.2. Software Requirement Analysis Requirement Analysis Functional Requirement Non-Functional Analysis Requirement Analysis User Interface Performance Transaction Performance External Interface Auditing Design Constraints Quality Attributes AuthenticationWe can categorize software requirements as shown in accuracy, and frequency. External interface requirementsFig.2.Functional requirements specify functions that a system specify hardware, software, or database elements with whichor system component must be capable of performing. a system or component must interface, or set forth constraints Authentication on formats, timing, or other factors caused by such anNon-Functional requirements, which include the Performance interface. Design constraints affect or constrain the design ofrequirements, specify performance characteristics that a a software system or software system component, forsystem or system component must possess such as speed, example, language requirements, physical hardware 30
    • International Journal of Computer Applications (0975 – 8887) Volume 43– No.24, April 2012requirements, software development standards, and software 4. MODEL SYSTEM FORquality assurance standards. Quality attributes specify thedegree to which software possesses attributes that affect FUNCTIONAL REQUIREMENTSquality, such as correctness, reliability, maintainability, and The representation for the requirement starts from the worldportability. view to the design view. This may be a top down or bottom up approach. A system should be modeled, which has an3. FUNCTIONAL REQUIREMENTS element and also plays a vital role in the development processIn software system engineering, a functional requirement [9] [10].defines a function of a software system or its component. A Now the modeled developed is top down approach, so it startsfunction is described as a set of inputs, the behavior, and formoutputs. Functional requirements may be calculations,technical details, data manipulation and processing and other  Defining the processesspecific functionality that define what a system is supposed toaccomplish. Behavioral requirements describing all the cases  Represent the behavior of the processeswhere the system uses the functional requirements are assumptions on which the behavior is based.captured in use cases. Functional requirements are supported  Explicitly define the exogenous end endogenousby non-functional requirements, which impose constraints on input to the model.the design or implementation, such as performancerequirements, security, or reliability. Acceptable systems must  Represent all the links.satisfy all the mandatory requirements. [12] In constructing a model, the restraining factors such asFunctional requirements are based on the following four assumptions, simplifications, limitations and constraints mustclassical members have been depicted in Fig .3 as, be considered. Representing the requirements in World view (WV) as, WV  D1 , D2 , D3 ..., Dn  User Interface Transaction Di  D1 , D2 , D3 ..., Dn Performance Di are the Set of domains either systems / subsystems. Functional Representing the requirement as Domain view (DV), Requirements Auditing Authentication DV  E1 , E2 , E3 ,...Em  E j  E1 , E2 , E3 ,..., Em Ej are the set of elements which satisfies the objective or the goal of accomplished tasks. Representing the Elemental view (EV) as, Fig.3. Classification of Functional Requirements.  Retrieving input from the user EV  C1 , C2 , C3 ,...Ck  o Identification Ck  C1 , C2 , C3 ,..., Ck o Reaction Ck are the set of technical components that achieves the o Behavior necessary function of an element [3].  Transaction based performance These assumptions shown in Fig.4, of world, domain, o Identification elementary and components of the can be evaluated via a genetic algorithmic approach. o Reaction o Behavior  Auditing o Functions o Limitations  Authentication o Members o Managers o Administrators. 30
    • International Journal of Computer Applications (0975 – 8887) Volume 43– No.24, April 2012 World View( Requirement analysis) Domain View 1( Functional) Domain View 2(Non- Functional) Elementary View 1(Retreiving Elementary View2 Transaction Elementary View 3 Auditing Input from the user) Performance Detailed view1 Detailed view2 Detailed view3 … Identification Reaction Behavior Fig. 4. A Model Representation - Functional requirements4. EVALUATION OF REQUIREMENTS existing modeling and simulation tools for building the objective functions and allows the user to make directTHROUGH GENETIC ALGORTIHM comparisons between genetic methods and traditional4.1 Genetic algorithm procedures, which will produce n number of solutions fromGenetic Algorithms (GAs) are adaptive heuristic search four different requirements of type functional [6].algorithm based on the evolutionary ideas of natural selection The above-mentioned Modeled system developed forand genetics. As such they represent an intelligent exploitation functional requirements such as world, domain, elementaryof a random search used to solve optimization problems. and component views were the inputs given to the GA tool.Although randomized, GAs are by no means random, instead The worldview represents overall software requirements.they exploit historical information to direct the search into the Domain view representation shows the functional requirementregion of better performance within the search space. The such as user input, transaction performance, Auditing andbasic techniques of the GAs are designed to simulate Authentication. The Elementary view has identification,processes in natural systems necessary for evolution; reaction, behavior, functions, limitations and people of theespecially those follow the principles first laid down by domain values.Charles Darwin of "survival of the fittest". Since in nature,competition among individuals for scanty resources results in Now let us take the domain view to the GA tool , which willthe fittest individuals dominating over the weaker ones [4]. produce a set of combinations through crossover operator, under repeated set of iterations and the selection tool producesGenetic algorithm is a stochastic random global search and the best combination of domain .This selection will help to gooptimization method that minimizes and produces variety of through the next design phase.solutions, based on evaluation. The three most importantaspects of using genetic algorithms are: (1) definition of the 4.2.1 Implementation Detailsobjective function, (2) definition and implementation of the The GA approach in this paper will produce n (n+1)genetic representation, and (3) definition and implementation combination of requirements for n samples or requirementsof the genetic operators. On defining these three, the generic given and we can choose the necessary combinations ofgenetic algorithm should work fairly well. Beyond that you requirement for the product to be developed based on Naturalcan try many different variations to improve performance, find Selection.multiple optima, or parallelize the algorithms [5]. After an initial requirement generated randomly, the algorithmAlso, in searching a large state-space, multi-modal state- evolves the through three operators:space, or n-dimensional surface, a genetic algorithm may offersignificant benefits over more typical search of Optimization  Selection which equates to best of the world viewTechniques. (linear programming, heuristic, depth-first, requirements;breath-first, and praxis.)  Crossover which represents combination between4.2 An Genetic Algorithmic Approach requirements;GAs is an effective strategy, applied in the functional  Mutation, which introduces random modifications.requirement analysis phase. This allows the retention of 31
    • International Journal of Computer Applications (0975 – 8887) Volume 43– No.24, April 2012This is done using GA tool of MATLAB, which produces [6] A. J. Chipperfield and P. J. Fleming, the MATLABvarious combinations of domain, Elementary and also Genetic Algorithm Toolbox.develops a new set of requirements (the mutants). [7] Richard H.Thayer, “Software System Engineering: A5. CONCLUSION Tutorial”IEEE 2002, pp 68-73.Software System Engineering performs a variety of functions [8] Eric C.Honour, “ Understanding the Value of Systemat various stages in the product development life cycle. Engineering”Software Requirement Analysis is a phase in whichreevaluation has to be started. Requirements are classified into [9] “Introduction to Systems Engineering”functional and non-functional requirements relevant to the [10] Linda Westfall, “Software Requirements Engineering:product or process developed. The functional requirements What, Why, Who, When, and How”, 2005-2006.categorized as, user interface, transaction performance,auditing and authentication were done in accordance with [11] Dr.Judith Dahmann, “Importance of systems engineeringtheir functions. The basic representation which is relevant to in Early Acquisition”.software system engineering such as world, domain,elementary and component view were discussed. The views [12] www.ofnisystems.com/Validation/Functional_Requiremenoted have been approached from top - down. This paper nts.htmfocuses on using the GA tool to have an iterative process of [13] Terry Bahill, “The Eight System Engineeringidentifying and refining the requirements by a method of Documents”, 2001-2009.reevaluation. A series of repeated steps using the tool will helpus to elicit all the requirements to develop the design phase [14] A.Terry Bahill, Frank F. Dean, “What is systemsuccessfully. The implementation through the tool will be engineering? A consensus of senior system Engineers”,discussed in the future. Jan 15, 2009. [15] Dr. Laurie Williams, “ A (Partial) Introduction to6. REFERENCES Software Engineering Practices and Methods”,[1] A.Terry Bahill, Clark Biggs, “ The Systems Engineering NCSU CSC326 Course Pack, 2008-2009 (Fifth) Editions. started in the middle process: a consensus of system Engineers and project Mangers, 2001, John Wiley & [16] Prof. Dr. Oscar Nierstrasz, Dr. St´ephane sons, Inc.syst Eng:156 – 157. DucasseMichele Lanza, “Recovering the Evolution of Object Oriented SoftwareSystems Using a Flexible[2] Eushiuan Tran , “ Requirements & Specification” Query Engine”, June 2001. [17] Ruth Malan and Dana Bredemeyer “Functional[3] Quantifying Software Reliability Readiness Astana, A.; Requirements and Use Cases”. Olivieri, J. ; Alcatel - Lucent, Westford, MA, USA [18] http://media.wiley.com/product_data/excerpt/96/0769511[4] Software Engineering a Practioner’s Approach, sixth 9/0769511996.pdf. Edition, Roger S.Pressman.[5] Software Engineering Theory and Practice, Fourth Edition, Shari Lawerence Fleeger, Joanne M. Atlee. 32