Rad Realities

Total Page:16

File Type:pdf, Size:1020Kb

Rad Realities Software Engineering RAD REALITIES: BEYOND THE HYPE TO HOW RAD REALLY WORKS Building what the customer needs now and delivering it quickly is the new rallying cry for software development by Ellen Gottesdiener The volatile nature of business in the requires a small team of highly skilled individuals (in 1990s along with (hi: emergence of cluding customers) to work together using tools ihat newer technologies such us client/serv accelerate the testing, prototyping and construction ar er, object-oriented (OOl technologies, tifacts of the software product. It should be noted, and ;tn ever growing list of application however, that there can be exeptions to the small team development tools has made rapid ap size, particularly when dramatically new technologies plication development (RAD] a buzzword that falls off the lips of almost every i/S manager and developer. RAD Incremental Delivery RAD has been described as a tool, a methodology and an attitude. It is associated with prototyping and tech niques such as joint application design (JAD), which Chunk 1 require customer involvement and commitment. It is also feared as potentially a source of law-quality appli cations thai do noi scale up or that cannot sustain the Time; Tr.nlilinri.il Product Delivery demands of ongoing maintenance. The questions beg to be asked: "Is RAD just an other IAS fad'.' How might this approach to application Chunk I Chink 2 Chunk I Chunk 2 development change your life as a project manager or developer? What can the roots of RAD reveal to us Chunk 2 Chunk 2 Chunk 3 about the essence of this 10-year old approach? Can it live up to the pervasive marketing campaigns of tools vendors? Whal must be done to succeed with a RAD Time: RAD lncrenienf.il Product Delivery approach?" Source; E{tG CniiMilunj[ Fig. DEFINING RAD RAD products evolve based on continual customer feedback and RAD is an integrated set of techniques, guidelines .ire deployed in increments over lime. and tools that facilitate deploying a customer's soft ware needs within a short period of lime. This prede fined lime frame is called a "timebox." The software and techniques are employed. (See "Cigna Develops product does not "pop out" at the end of the develop One-Year Health Benefit System," page 35.) ment cycle, but instead evolves during the RAD devel opment process based on continued customer feed I'LATFORM INDEPENDENCE back. In addition, the whole software product is not RAD techniques and tools are platform indepen delivered at once, but is delivered in pieces by order of dent. RAD is not an excuse for "hacking" out software. business importance. In this way, the product is de For the PC developer applying RAD. more discipline ployed in increments over time. (See Fig. I.) is needed. For the mainframe developer applying Bach Increment, or "chunk" of the application RAD. more flexibility is needed. The key is striking typically lakes three to nine months. The RAD process the right balance. The software product development process is very different than traditional application development. [Hen Cotlesdicner ii president oi £HG Consulting, ln<., J Carmel, Ind.- Rather than focusing (in steps, tasks, and interim deliv- bMed facilitation, consulting and (raining firm specializing in helping organizations cri'ale maiile business .mil rechn« si models for information erables, RAD is oriented toward product delivery cycles Systems. She can ho reached via E-mail .u 71201. i I53@t ompuserve.com. defined by an end dale. Thus, the successful delivery ol Application Development Trend\ ■ august 1995 Software Engineering a product is based on the skills and ability of the team lo cessiiy of focusing on the business problem first (See learn about customer requirements as the software prod Fig. 2.1 Other RAD practitioners began by using tools uct is being built. In an evolutionary process, [earning in a mainframe environment while also changing the and adopting 10 the environment is key. By exposing the development methodology. Rob Dixon. a partner with software product lo the environment quickly and by let Tier Corp. of Walnut Creek. Calif., and author of Win ting customers critique, review, and provide feedback ning with CASE, used the IEI; CASE tool from Texas on a prototype, the team can make changes to ibe soft Instruments. Piano, Texas, in a Cobol/DB2 project. Dr. ware to allow for belter adaptation to the future produc Sam Bayer, consultant at Sapiens USA, Inc., Durham, tion environment. The product evolves within the time- N.C., used Sapien's own tools in mainframe RAD pro- box while the team learns. In addition. Hie quality of the jecis. — A detailed accounting of RAD in the main application is dependent upon maintaining a stable frame environment is told in Kerr and Hunter's book "memory" of the product structure. This is accom Inside RAD. a book that credits Shultz for his early plished through the use of models under work ;u DuPont. lying the interface design. Bull's-Eye for RAD Although tools are very critical to the RAD approach, RAD ROOTS the tools alone will not create a RAD emerged not from the PC or stable, scalable software prod client/server world but from the uct. "The tools have taken midrange Digital Equipment Corp. over the tSSfil," said Shultz. VAX environment in which Scott It is critical to look beyond ShllltZ, then a project marketing to the people, manager Bt DuPont, process, and organiza used Cortex's CorVi- tional issues to make sion code generator RAD what its inventor tool in conjunction envisioned it lobe. with new develop ment techniques. ShultZ called it STEPS IN RAD rapid iterative production prototyp The RAD process de ing (Kipp). Kipp involved uniquely fies a linear definition of combined tools, methods and people steps carried out in a se to deliver systems quickly to cus quence. RAD begins by defin tomers. His approach was later ing the desired product in an ini popularized by James Martin's Source: ASAP Systems FifJ. 2 tial planning phase. During 1991 book. Rapid Application planning, a definition of 77je primary focus in RAD should he the Development. the project scope is com business problem, not the technology. Now a senior manager at Ernst pleted along with some &. Young LLP in Dallas and having preliminary data/process participated in over 100 RAD pro analysis, risk assessment jects in his career, Schultz's approach was incorporated and estimating. A timebox is chosen — a fixed period into Ernst & Young LLP's Navigator methodology to for building a fragment, increment or chunk of the ap- form the Accelerated Systems Development (ASD) plicalion. Within lliis timebox, a spiral process occurs route map. ASD. says ShultZ, is essentially the "grand involving prototyping, modeling, architectural design, son of R1PP." Shultz's colleague during Rll'P's early construction and testing. (See Fig. 3.). Each cycle days at DuPont, Bucky Wallace, adapted similar tech within the timebox is completed "multiple times, each niques to the MVS mainframe environment. Working in time bringing the solution to higher levels of sophisti parallel with Sbultz. Wallace formed a technology cation and completion." said Shultz of Ernst & Young. group called Application Systems with Accelerated In some cases, a higher level of analysis may be need Productivity (ASAP) within DuPont. ASAP used main ed to insure proper prioiitizalion of RAD projects. An frame tools with a traditional waterfall methodology. information engineering-like analysis may then pro Starting with the goal of increasing productivity by ten ceed these steps. (See "USA Group Spices up .Scholar fold, Wallace discovered thai even if the code genera ships." page 32.| tion portion of the lifecycle was reduced lo 0%, overall Rob Dixon. Tier Corporation, described conduct savings in lime only came lo 3GS&. "I discovered that ing a one-month business area analysis (BAA) to de you have lo change the way you do things — the tools termine the subsets of application development needs were not enough." said Wallace, now President of AS in the whole business area and divide them into chunks AP Systems Inc., Landenberg. Pa. "Tools don't solve of requirements that can each be fulfilled in four to problems, people solve problems," he added. nine months of development. During this one month BAA, the team creates models to define the business BUSINESS PROBLEMS FIRST context, including data, functional decomposition, and Wallace emphasizes in his RAD approach the ne- perhaps object models with the aid of Case tools. AUGUST Iff.1; ■ Application Development Trends Software Engineering "We lake the most compelling ones customer priorities, assumes continual at a common goal, scope and si/.e. The and do them in the first chunk," said change will occur and imparts lo the development team and customers togeth Dixon. Burly and rapid definition of the team a sense of urgency. er determine the project's timeboxes. Ac project means understanding the busi A timebox is a mechanism to con cording to Highsmith, "The team has to ness problem, assessing the risks, priori trol resources and delivery scope: it pro be able lo juggle features lo meet the lime tizing ihe needs, and defining the incre vides a dramatically different way to that the customers help to decide. The ments in order of development. These manage a project. "The timebox is based customers know that any feature-set early activities have ilie affeel of team- on the belief thai we can do something of planned for the last cycle has the poten building us they focus sharply tial to be deleted if the overall on business needs and product timebox is in jeopardy. Time delivery. It also does much to Timebox for Each "Chunk" boxing doesn't work unless gain and maintain customer in both developers and customers volvement, a key aspect of the understand the need for trade RAD process.
Recommended publications
  • Software Development Career Pathway
    Career Exploration Guide Software Development Career Pathway Information Technology Career Cluster For more information about NYC Career and Technical Education, visit: www.cte.nyc Summer 2018 Getting Started What is software? What Types of Software Can You Develop? Computers and other smart devices are made up of Software includes operating systems—like Windows, Web applications are websites that allow users to contact management system, and PeopleSoft, a hardware and software. Hardware includes all of the Apple, and Google Android—and the applications check email, share documents, and shop online, human resources information system. physical parts of a device, like the power supply, that run on them— like word processors and games. among other things. Users access them with a Mobile applications are programs that can be data storage, and microprocessors. Software contains Software applications can be run directly from a connection to the Internet through a web browser accessed directly through mobile devices like smart instructions that are stored and run by the hardware. device or through a connection to the Internet. like Firefox, Chrome, or Safari. Web browsers are phones and tablets. Many mobile applications have Other names for software are programs or applications. the platforms people use to find, retrieve, and web-based counterparts. display information online. Web browsers are applications too. Desktop applications are programs that are stored on and accessed from a computer or laptop, like Enterprise software are off-the-shelf applications What is Software Development? word processors and spreadsheets. that are customized to the needs of businesses. Popular examples include Salesforce, a customer Software development is the design and creation of Quality Testers test the application to make sure software and is usually done by a team of people.
    [Show full text]
  • Geo-DB Requirement Analysis
    2.1.1. Overview Lifecycle 2 Conceptual Database Design 2.1 Requirement analysis -> Text 2.2 Modeling languages Requirement analysis -> Conceptual Model 2.1.1 Overview Conceptual Design 2.1.2 Requirement Analysis (case study) 2.2.1 Basic Modeling Primitives 2.2.2 Modeling Languages: UML and CREATE TABLE Studentin (SID INTEGER PRIMARY KEY, -> Database schema VName CHAR(20) Name CHAR(30)CREATE NOT TABLENULL, Kurs Entity-Relationship Model (ERM) Logical Schema Design Email Char(40));(KID CHAR(10) PRIMARY KEY, Name CHAR(40) NOT NULL, Dauer INTEGER); CREATE TABLE Order 2.2.3 Conceptual DB design: basics ODate DATE soldBy INTEGER FOREIGN KEY REFEREBCES Peronal(PID) 2.2.4 From Requirements to Models CID INTEGER FOREIGN KEY REFERENCES Customer (CID)); Physical Schema Design -> Access paths References: Kemper / Eickler chap 2, Elmasri / Navathe chap. 3 Administration Garcia-Molina / Ullmann / Widom: chap. 2 © HS-2009 Redesign 02-DBS-Conceptual-2 Database Design:Terminology 2.1.2 Requirement Analysis Most important: talk with your customers! Def.: Database Design The process of defining the overall structure of a database, Tasks during RA: i.e. the schema, on different layers of abstraction. Identify essential "real world" information (e.g. Design levels: Conceptual, logical, physical interviews) Remove redundant, unimportant details Includes "Analysis" and "Design" from SE Clarify unclear natural language statements DB Modeling: defining the "static model" using formal or visual languages Fill remaining gaps in discussions Distinguish data and operations DB SE Requirements Requirements Conceptual modeling Analysis Requirement analysis & Conceptual Design aims at Logical modeling Design focusing thoughts and discussions ! Physical modeling Implementation © HS-2009 02-DBS-Conceptual-3 © HS-2009 02-DBS-Conceptual-4 Example: Geo-DB Requirement Analysis The database we develop will contain data about countries, cities, Clarify unclear statements organizations and geographical facts.
    [Show full text]
  • The Roots of Software Engineering*
    THE ROOTS OF SOFTWARE ENGINEERING* Michael S. Mahoney Princeton University (CWI Quarterly 3,4(1990), 325-334) At the International Conference on the History of Computing held in Los Alamos in 1976, R.W. Hamming placed his proposed agenda in the title of his paper: "We Would Know What They Thought When They Did It."1 He pleaded for a history of computing that pursued the contextual development of ideas, rather than merely listing names, dates, and places of "firsts". Moreover, he exhorted historians to go beyond the documents to "informed speculation" about the results of undocumented practice. What people actually did and what they thought they were doing may well not be accurately reflected in what they wrote and what they said they were thinking. His own experience had taught him that. Historians of science recognize in Hamming's point what they learned from Thomas Kuhn's Structure of Scientific Revolutions some time ago, namely that the practice of science and the literature of science do not necessarily coincide. Paradigms (or, if you prefer with Kuhn, disciplinary matrices) direct not so much what scientists say as what they do. Hence, to determine the paradigms of past science historians must watch scientists at work practicing their science. We have to reconstruct what they thought from the evidence of what they did, and that work of reconstruction in the history of science has often involved a certain amount of speculation informed by historians' own experience of science. That is all the more the case in the history of technology, where up to the present century the inventor and engineer have \*-as Derek Price once put it\*- "thought with their fingertips", leaving the record of their thinking in the artefacts they have designed rather than in texts they have written.
    [Show full text]
  • Research on Programming Technology of Computer Software Engineering Database Based on Multi-Platform
    2019 4th International Industrial Informatics and Computer Engineering Conference (IIICEC 2019) Research on Programming Technology of Computer Software Engineering Database Based on Multi-Platform Wei Hongchang, Zhang Li Jiangxi Vocational College of Mechanical& Electronical Technology Jiangxi Nanchang 330013, China Keywords: Computers, Database, Programming, Software Engineering Abstract: With the rapid development of social science and technology, various trades and industries have also developed. For computer applications, the most important thing is the software system and hardware system in its components. As far as software engineering is concerned, in the construction of engineering chemical methods, the construction methods of engineering chemical should be combined to enhance the value of software application. The development of computer technology has formed a certain scale up to now, and it has dabbled in various fields. However, due to the different requirements of different industries on the performance of computer technology. Through the analysis of software database programming technology, in the creation of software computer structure, as a very important part, it will have a certain impact on the strength of computer computing ability. Aiming at the research of database programming technology in computer software engineering, this paper analyzes the advantages of database programming technology, and expounds the application of database programming technology in computer software engineering. 1. Introduction At the present stage, computing technology has been widely used in today's society and has penetrated into different industries in different fields. The arrival and popularization of computers have been highly valued and widely used. Through the analysis of software database programming technology, as a very important component in the creation of software computer composition structure, it will have a certain impact on the strength of computer computing ability [1].
    [Show full text]
  • Design and Implementation of a Standards Based Ecommerce Solution in the Business-To-Business Area
    Design and implementation of a standards based eCommerce solution in the business-to-business area Thesis of Andreas Junghans Department of Computer Science Karlsruhe University of Applied Sciences, Germany Written at ISB GmbH, Karlstrasse 52-54, 76133 Karlsruhe 03/01/2000 to 08/31/2000 Supervisor at Karlsruhe University of Applied Sciences: Prof. Klaus Gremminger Co-supervisor: Prof. Dr. Lothar Gmeiner Supervisor at ISB GmbH: Dipl.Inform. Ralph Krause Declaration I have written this thesis independently, solely based on the literature and tools mentioned in the chapters and the appendix. This document - in the current or a similar form - has not and will not be submitted to any other institution apart from the Karlsruhe University of Applied Sciences to receive an academical grade. I would like to thank Ralph Krause and Gerlinde Wiest of ISB GmbH for their support over the last six month, as well as Peter Heil and Frank Nielsen of Heidelberger Druckmaschinen AG for providing informa- tion and suggestions for the requirements analysis. Acknowledgements also go to Christian Schenk for his MiKTEX distribution and the Apache group for their XML tools. Finally, I would like to thank Professor Klaus Gremminger of the Karlsruhe University of Applied Sciences for his supervision of this thesis. Karlsruhe, 3rd of September, 2000 (Andreas Junghans) Contents 1 Introduction 1 1.1 Document conventions ...................................... 1 1.2 Subject of this thesis ....................................... 1 1.3 Rough schedule .......................................... 2 2 Requirements analysis 3 2.1 Tools used ............................................. 3 2.2 Domain requirements ....................................... 3 2.2.1 Clarification of terms ................................... 3 2.2.2 Specific requirements on ”Business to Business” applications ............
    [Show full text]
  • Requirements Phase
    Requirements Phase • Chance of a product being on time and within budget is very slim unless the development team knows what the product should do • To achieve this level the development team must analyze the needs of the client as precisely as possible Ch10 Copyright © 2004 by Eugean 1 Hacopians Requirements Phase • After a clear picture of the problem the development teams can answer the question: – What should the product do? • The process of answering this question lies within the requirements phase Ch10 Copyright © 2004 by Eugean 2 Hacopians Requirements Phase • Common misconceptions are: – During requirement phase the developer must determine what the client wants – The client can be unclear as to what they want – The client may not be able to communicate what they want to the developer • Most clients do not understand the software development process Ch10 Copyright © 2004 by Eugean 3 Hacopians Requirements Elicitation • This process is finding out a client’s requirements • Members of the requirements team must be familiar with the application domain • Requirement analysis is the process of: – Understanding the initial requirements – Refining requirements – Extending requirements Ch10 Copyright © 2004 by Eugean 4 Hacopians Requirements Elicitation • This process starts with several members of the requirements analysis team meeting with several members of the client’s team • It is essential to use the correct terminology or settle on an agreed set – Misunderstanding terminology can result in a faulty product – This could result in
    [Show full text]
  • Data Quality Requirements Analysis and Modeling December 1992 TDQM-92-03 Richard Y
    Published in the Ninth International Conference of Data Engineering Vienna, Austria, April 1993 Data Quality Requirements Analysis and Modeling December 1992 TDQM-92-03 Richard Y. Wang Henry B. Kon Stuart E. Madnick Total Data Quality Management (TDQM) Research Program Room E53-320 Sloan School of Management Massachusetts Institute of Technology Cambridge, MA 02139 USA 617-253-2656 Fax: 617-253-3321 Acknowledgments: Work reported herein has been supported, in part, by MITís Total Data Quality Management (TDQM) Research Program, MITís International Financial Services Research Center (IFSRC), Fujitsu Personal Systems, Inc. and Bull-HN. The authors wish to thank Gretchen Fisher for helping prepare this manuscript. To Appear in the Ninth International Conference on Data Engineering Vienna, Austria April 1993 Data Quality Requirements Analysis and Modeling Richard Y. Wang Henry B. Kon Stuart E. Madnick Sloan School of Management Massachusetts Institute of Technology Cambridge, Mass 02139 [email protected] ABSTRACT Data engineering is the modeling and structuring of data in its design, development and use. An ultimate goal of data engineering is to put quality data in the hands of users. Specifying and ensuring the quality of data, however, is an area in data engineering that has received little attention. In this paper we: (1) establish a set of premises, terms, and definitions for data quality management, and (2) develop a step-by-step methodology for defining and documenting data quality parameters important to users. These quality parameters are used to determine quality indicators, to be tagged to data items, about the data manufacturing process such as data source, creation time, and collection method.
    [Show full text]
  • Chapter 3 Software Design
    CHAPTER 3 SOFTWARE DESIGN Guy Tremblay Département d’informatique Université du Québec à Montréal C.P. 8888, Succ. Centre-Ville Montréal, Québec, Canada, H3C 3P8 [email protected] Table of Contents references” with a reasonably limited number of entries. Satisfying this requirement meant, sadly, that not all 1. Introduction..................................................................1 interesting references could be included in the recom- 2. Definition of Software Design .....................................1 mended references list, thus the list of further readings. 3. Breakdown of Topics for Software Design..................2 2. DEFINITION OF SOFTWARE DESIGN 4. Breakdown Rationale...................................................7 According to the IEEE definition [IEE90], design is both 5. Matrix of Topics vs. Reference Material .....................8 “the process of defining the architecture, components, 6. Recommended References for Software Design........10 interfaces, and other characteristics of a system or component” and “the result of [that] process”. Viewed as a Appendix A – List of Further Readings.............................13 process, software design is the activity, within the software development life cycle, where software requirements are Appendix B – References Used to Write and Justify the analyzed in order to produce a description of the internal Knowledge Area Description ....................................16 structure and organization of the system that will serve as the basis for its construction. More precisely, a software design (the result) must describe the architecture of the 1. INTRODUCTION system, that is, how the system is decomposed and This chapter presents a description of the Software Design organized into components and must describe the interfaces knowledge area for the Guide to the SWEBOK (Stone Man between these components. It must also describe these version).
    [Show full text]
  • A Requirements Modeling Language for the Component Behavior of Cyber Physical Robotics Systems
    A Requirements Modeling Language for the Component Behavior of Cyber Physical Robotics Systems Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann RWTH Aachen University, Software Engineering, Aachen, Germany {ringert,rumpe,wortmann}@se-rwth.de Abstract. Software development for robotics applications is a sophisticated en- deavor as robots are inherently complex. Explicit modeling of the architecture and behavior of robotics application yields many advantages to cope with this complexity by identifying and separating logically and physically independent components and by hierarchically structuring the system under development. On top of component and connector models we propose modeling the requirements on the behavior of robotics software components using I/O! automata [29]. This approach facilitates early simulation of requirements model, allows to subject these to formal analysis and to generate the software from them. In this paper, we introduce an extension of the architecture description language MontiArc to model the requirements on components with I/O! automata, which are defined in the spirit of Martin Glinz’ Statecharts for requirements modeling [10]. We fur- thermore present a case study based on a robotics application generated for the Lego NXT robotic platform. “In der Robotik dachte man vor 30 Jahren, dass man heute alles perfekt beherrschen würde”, Martin Glinz [38] 1 Introduction Robotics is a field of Cyber-Physical Systems (CPS) which yields complex challenges due to the variety of robots, their forms of use and the overwhelming complexity of the possible environments they have to operate in. Software development for robotics ap- plications is still at least as complex as it was 30 years ago: even a simple robot requires the integration of multiple distributed software components.
    [Show full text]
  • Business Requirements Analysis Document (BRAD) - Trading Partner Performance Management, Release 1.0.0
    Business Requirements Analysis Document (BRAD) - Trading Partner Performance Management, Release 1.0.0 Business Requirements Analysis Document (BRAD) For Trading Partner Performance Management BRAD: 1.0.0 BRG: Trading Partner Performance Management Work Group Date: 7-Nov-2008, Approved 7-Nov-2008, Approved All contents copyright © GS1 2008 Page 1 of 81 Business Requirements Analysis Document (BRAD) - Trading Partner Performance Management, Release 1.0.0 Document Summary Document Item Current Value Document Number 10713 Document Title Business Requirements Analysis Document (BRAD) Date Last Modified 7-Nov-2008 Status Approved Work Group / Chairperson Trading Partner Performance Management / Matt Johnson BRAD Template Version 2.4 Change Request Reference Date of CR Submission to GSMP: CR Submitter(s): Refer to Change Request (CR) Number(s): 13 - Jul – 2007 John Ryu, GS1 07-000283 Document Change History Date of Vers Changed By Reason for Summary of CR # Model Change ion Change Change Build # 31–Oct-2007 0.1.0 John Ryu Initial Draft Section 15 07-000283 N/A 3-Mar–2008 0.2.0 John Ryu Added agreed measures Section 15 Not N/A Matt Johnson Applicable 25-Mar-2008 0.2.2 John Ryu Based on Dallas F2F meeting Section 15 N/A N/A 9-Apr-2008 0.3.0 John Ryu Finalizing for GSMP Meeting on 20080414 Section 15 N/A N/A 11-Apr-2008 0.3.1 John Ryu Based on 20080409 teleconference Section 15 N/A N/A Matt Johnson 22-Apr-2008 0.3.2 John Ryu Based on Brussels F2F Meeting Section 15 N/A N/A 1-May-2008 0.3.3 John Ryu Posting for 60 Day Public Review Section 15 N/A N/A Start May 1 and End on June 30.
    [Show full text]
  • Fault-Based Analysis: How History Can Help Improve Performance and Dependability Requirements for High Assurance Systems
    Fault-Based Analysis: How History Can Help Improve Performance and Dependability Requirements for High Assurance Systems Jane Huffman Hayes David M. Pruett Elizabeth Ashlee Holbrook Geocontrol Systems Inies Raphael C.M. Incorporated University of Kentucky Dept. of Computer Science [email protected] [email protected], {ashlee|irchem2}@uky.edu Abstract Related work is discussed in Section 3. Our position is outlined in Section 4 as well as some Performance and dependability requirements are preliminary results. Finally, conclusions and future key to the development of high assurance systems. work round out the paper in Section 5. Fault-based analysis has proven to be a useful tool for detecting and preventing requirement faults 2. Fault-based analysis early in the software life cycle. By tailoring a generic fault taxonomy, one is able to better “The IEEE standard definition of an error is a prevent past mistakes and develop requirements mistake made by a developer. An error may lead to specifications with fewer overall faults. Fewer one or more faults [13]. To understand Fault- faults within the software specification, with Based Analysis (FBA), a look at a related respect to performance and dependability technique, Fault-Based Testing (FBT), is in order. requirements, will result in high assurance systems Fault-based testing generates test data to of improved quality. demonstrate the absence of a set of pre-specified faults. There are numerous FBT techniques. These 1. Introduction use a list of potential faults to generate test cases, generally for unit- and integration-level testing One needs only look to the increasing [20,3].
    [Show full text]
  • Integrated Framework for Software Requirement Analysis
    Integrated Framework for Software Requirement Analysis Andre Rusli, Osamu Shigo Graduate School of Information Environment, Tokyo Denki University, Chiba, Japan {[email protected], [email protected]} Abstract. Requirement elicitation is a very critical step in software develop- ment. In order to develop adequate software which answers to user’s needs, it is essential to understand the real-world environment, the users themselves, goals, constraints, and risks and its possible solutions. Unable to describe correct re- quirements can lead to a massive software development failure. This paper aims to propose an integrated framework for requirement elicitation which combines the characteristics of goal-based requirement engineering methods, Problem Frame (PF), and Message Sequence Chart (MSC). The proposed framework us- es i* framework to describe the dependency relationships between actors, PF to analyze the constraints that exist in the real world, KAOS’ to analyze obstacles, and MSC to show the dynamic behavior of the system. Keywords: Requirement Analysis · Goal Models · i* · Problem Frame · KAOS · Message Sequence Chart 1 INTRODUCTION Requirements engineering (RE) is an engineering activity that ties up the development activities with the real-world problems. It represents a series of engineering decisions that lead from recognition of a problem to be solved to a detailed specification of that problem [6]. Failing to describe the correct requirement can lead to a massive failure in the whole development. However, requirement engineering is not an easy task. It has to keep up with the ever-changing environment which caused it to be a continuous process in a software development. To keep up with changes, requirements must have a base condition, with details that can be changed flexibly without drifting apart from the main objective of the project.
    [Show full text]