Defining and Using a Metamodel for Document-Centric Development Methodologies
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Introduction Development Lifecycle Model
DeveIopment of a Comprehensive Software Engineering Environment Thomas C. Hartrum Gary B. Lamont Department of Electrical and Computer Engineering Department of Electrical and Computer Engineering School of Engineering School of Engineering Air Force Institute of Technology Air Force Institute of Technology Wright-Patterson AFB, Dayton, Ohio, 45433 Wright-Patterson AFB, Dayton, Ohio, 45433 Abstract The concept of an integrated software development environment The generation of a set of tools for the software lifecycle is a recur- can be realized in two distinct levels. The first level deals with the ring theme in the software engineering literature. The development of access and usage mechanisms for the interactive tools, while the sec- such tools and their integration into a software development environ- ond level concerns the preservation of software development data and ment is a difficult task at best because of the magnitude (number of the relationships between the products of the different software life variables) and the complexity (combinatorics) of the software lifecycle cycle stages. The first level requires that all of the component tools process. An initial development of a global approach was initiated at be resident under one operating system and be accessible through a AFIT in 1982 as the Software Development Workbench (SDW). Also common user interface. The second level dictates the need to store de- other restricted environments have evolved emphasizing Ada and di5 velopment data (requirements specifications, designs, code, test plans tributed processing. Continuing efforts focus on tool development, and procedures, manuals, etc.) in an integrated data base that pre- tool integration, human interfacing (graphics; SADT, DFD, structure serves the relationships between the products of the different life cy- charts, ...), data dictionaries, and testing algorithms. -
Writing and Reviewing Use-Case Descriptions
Bittner/Spence_06.fm Page 145 Tuesday, July 30, 2002 12:04 PM PART II WRITING AND REVIEWING USE-CASE DESCRIPTIONS Part I, Getting Started with Use-Case Modeling, introduced the basic con- cepts of use-case modeling, including defining the basic concepts and understanding how to use these concepts to define the vision, find actors and use cases, and to define the basic concepts the system will use. If we go no further, we have an overview of what the system will do, an under- standing of the stakeholders of the system, and an understanding of the ways the system provides value to those stakeholders. What we do not have, if we stop at this point, is an understanding of exactly what the system does. In short, we lack the details needed to actually develop and test the system. Some people, having only come this far, wonder what use-case model- ing is all about and question its value. If one only comes this far with use- case modeling, we are forced to agree; the real value of use-case modeling comes from the descriptions of the interactions of the actors and the system, and from the descriptions of what the system does in response to the actions of the actors. Surprisingly, and disappointingly, many teams stop after developing little more than simple outlines for their use cases and consider themselves done. These same teams encounter problems because their use cases are vague and lack detail, so they blame the use-case approach for having let them down. The failing in these cases is not with the approach, but with its application. -
Job Description - Software Engineer I
Job Description - Software Engineer I Department: Engineering - 2013-03 Exemption Status: Non-Exempt Summary: This position is responsible for software development in multi-application, multi-server, and hosted environments. The candidate will primarily provide system/configuration support with a focus in helping the needs of both internal and external customers. He or she will participate in all facets of software and system development life-cycle. The most qualified candidate for this role will have experience working with business intelligence in the public safety and/or public health software fields and have formal software education and/or a ton of practical experience. We develop primarily in C#, .NET, SQL, SSRS and mobile. Anyone that might fit well at FirstWatch must be hard-working, people-oriented, friendly, patient, a fast learner, think quickly on their feet, take initiative and responsibility, and LOVE providing our customers great and honest customer service. This person will need to maintain a high quality productivity level within a fast paced environment. This position shares responsibility (rotates) with other engineering staff for 24×7 on call duties and so must be able to thrive in this environment. Responsibilities: - Maintain and modify the software and system configurations of production, staged, and test applications. - Interface with different stakeholders to determine and propose appropriate and effective technology solutions to meet business and technical objectives. - Develop interfaces, applications and other technical solutions to support the business needs through the planning, analysis, design, development, implementation and maintenance phases of the software and systems development lifecycle. - Create system requirements, technical specifications, and test plans. -
Metamodeling Variability to Enable Requirements Reuse
Metamodeling Variability to Enable Requirements Reuse Begoña Moros 1, Cristina Vicente-Chicote 2, Ambrosio Toval 1 1Departamento de Informática y Sistemas Universidad de Murcia, 30100 Espinardo (Murcia), Spain {bmoros, atoval}@um.es 2 Departamento de Tecnologías de la Información y las Comunicaciones Universidad Politécnica de Cartagena, 30202 Cartagena (Murcia), Spain [email protected] Abstract. Model-Driven Software Development (MDSD) is recognized as a very promising approach to deal with software complexity. The Requirements Engineering community should be aware and take part of the Model-Driven revolution, enabling and promoting the integration of requirements into the MDSD life-cycle. As a first step to reach that goal, this paper proposes REMM, a Requirements Engineering MetaModel, which provides variability modeling mechanisms to enable requirements reuse. In addition, this paper also presents the REMM-Studio graphical requirements modeling tool, aimed at easing the definition of complex requirements models. This tool enables the specification of (1) catalogs of reusable requirements models (modeling for reuse facet of the tool), and (2) specific product requirements by reusing previously defined requirements models (modeling by reuse facet of the tool). Keywords: Model-Driven Software Development (MDSD), Requirements Engineering (RE), Requirements MetaModel (REMM), Requirements Reuse, Requirements Variability. 1 Introduction Model-Driven Software Development (MDSD) aims at raising the level of abstraction at which software is conceived, implemented, and evolved, in order to help managing the inherent complexity of modern software-based systems. As recently stated in a Forrester Research Inc. study “model-driven development will play a key role in the future of software development; it is a promising technique for helping application development managers address growing business complexity and demand ” [1]. -
Structured Programming - Retrospect and Prospect Harlan D
University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange The aH rlan D. Mills Collection Science Alliance 11-1986 Structured Programming - Retrospect and Prospect Harlan D. Mills Follow this and additional works at: http://trace.tennessee.edu/utk_harlan Part of the Software Engineering Commons Recommended Citation Mills, Harlan D., "Structured Programming - Retrospect and Prospect" (1986). The Harlan D. Mills Collection. http://trace.tennessee.edu/utk_harlan/20 This Article is brought to you for free and open access by the Science Alliance at Trace: Tennessee Research and Creative Exchange. It has been accepted for inclusion in The aH rlan D. Mills Collection by an authorized administrator of Trace: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. mJNDAMNTL9JNNEPTS IN SOFTWARE ENGINEERING Structured Programming. Retrospect and Prospect Harlan D. Mills, IBM Corp. Stnuctured program- 2 ' dsger W. Dijkstra's 1969 "Struc- mon wisdom that no sizable program Ste red .tured Programming" articlel could be error-free. After, many sizable ming haxs changed ho w precipitated a decade of intense programs have run a year or more with no programs are written focus on programming techniques that has errors detected. since its introduction fundamentally alteredhumanexpectations and achievements in software devel- Impact of structured programming. two decades ago. opment. These expectations and achievements are However, it still has a Before this decade of intense focus, pro- not universal because of the inertia of lot of potentialfor gramming was regarded as a private, industrial practices. But they are well- lot of fo puzzle-solving activity ofwriting computer enough established to herald fundamental more change. -
It Software Engineer 1
Pierce County Classification Description IT SOFTWARE ENGINEER 1 Department: Finance FLSA: Non-Exempt Job Class #: 632700 Represented: No Pay Range: Professional 15 Classification descriptions are intended to present a descriptive list of the range of duties performed by employees in this class and are not intended to reflect all duties performed within the job. GENERAL FUNCTION: This is professional, technical, analytical, and customer-oriented work in the Software Development Division of the Information Technology Division of Finance. An employee in this classification provides technical expertise to Pierce County departments and agencies in multiple areas. The Software Engineer 1 may include any or all of the essential functions listed below and functions as an IT professional in the capacity of a software designer, coder, and project manager. SERIES CONCEPT: This is the first level in the series. This classification is distinguished from other IT Software Engineers by performing a narrower range of technically complex duties and the level of direction required to perform job functions. ESSENTIAL FUNCTIONS: Perform professional functions in software programming and analysis. Assist in designing, coding, testing, deploying, maintaining, enhancing, and supporting County software systems. Assist in working with business customers in translating requirements into plans and specifications. Assist in developing new software and customize, developing interfaces to, or integrating with third- party business systems. Work in a team-based environment, communicating effectively with all levels of staff and management. Collaborate on the identification of business and system requirements. Address customer’s information needs by developing technology solutions and supporting information and technology systems on multiple computing platforms. -
Practical Agile Requirements Engineering Presented to the 13Th Annual Systems Engineering Conference 10/25/2010 – 10/28/2010 Hyatt Regency Mission Bay, San Diego, CA
Defense, Space & Security Lean-Agile Software Practical Agile Requirements Engineering Presented to the 13th Annual Systems Engineering Conference 10/25/2010 – 10/28/2010 Hyatt Regency Mission Bay, San Diego, CA Presented by: Dick Carlson ([email protected]) Philip Matuzic ([email protected]) BOEING is a trademark of Boeing Management Company. Copyright © 2009 Boeing. All rights reserved. 1 Agenda Boeing Defense, Space & Security| Lean-Agile Software . Introduction . Classic Requirements engineering challenges . How Agile techniques address these challenges . Overview / background of Agile software practices . History and evolution of Agile software Requirements Engineering . Work products and work flow of Agile Requirements Engineering . Integration of Agile software Requirements Engineering in teams using Scrum . Current status of the work and next steps Copyright © 2010 Boeing. All rights reserved. 2 Introduction Boeing Defense, Space & Security| Lean-Agile Software . A large, software-centric program applied Agile techniques to requirements definition using the Scrum approach . This presentation shows how systems engineering effectively applies Agile practices to software requirements definition and management . An experience model created from the program illustrates how failures on a large software program evolved into significant process improvements by applying specific Agile practices and principles to practical requirements engineering Copyright © 2010 Boeing. All rights reserved. 3 Requirements Reality Boeing Defense, Space & Security| Lean-Agile Software “The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, machines, and other software systems. No other part of the work so cripples the resulting system if done wrong. -
Tackling Traceability Challenges Through Modeling Principles in Methodologies Underpinned by Metamodels
Tackling Traceability Challenges through Modeling Principles in Methodologies Underpinned by Metamodels Angelina Espinoza and Juan Garbajosa Universidad Politecnica de Madrid - Technical University of Madrid, System and Software Technology Group (SYST), E.U. Informatica. Ctra. de Valencia Km. 7, E-28031, Spain, http://syst.eui.upm.es; aespinoza -at- syst.eui.upm.es, jgs -at- eui.upm.es Abstract. Traceability is recognized to be essential for supporting soft- ware development. However, a number of traceability issues are still open, such as link semantics formalization or traceability process models. Traceability methodologies underpinned by metamodels are a promis- ing approach. However current metamodels still have serious limitations. Concerning methodologies in general, three hierarchical layered levels have been identified: metamodel, methodology and project. Metamod- els do not often properly support this architecture, and that results in semantic problems at the time of specifying the methodology. Another reason is that they provide extensive predefined sets of types for describ- ing project attributes, while these project attributes are domain specific and, sometimes, even project specific. This paper introduces two com- plementary modeling principles to overcome these limitations, i.e. the metamodeling three layer hierarchy, and power-type patterns modeling principles. Mechanisms to extend and refine traceability models are in- herent to them. The paper shows that, when methodologies are developed from metamodels based on these two principles, the result is a method- ology well fitted to project features. Links semantics is also improved. Keywords: Traceability methodology, traceability metamodel, clabject, power-type pattern, metamodeling hierarchy, mechanisms for extension of traceability metamodels, metamodel extensibility. 1 Introduction Traceability is considered fundamental to perform processes and tasks such as V&V, change management, and impact analysis. -
IT- Software Engineer Career Ladder Matrix
IT- Software Engineer Career Ladder Matrix Software Engineer Family Job Title Software Engineer, Assoc Software Engineer Sr, Software Engineer Principal Software Engineer Mgr, Software Engineering Job Code MC0080 MC0079 MC0078 MC0074 MC0068 Pay Grade 74 75 76 76 76 Position Summary This role is responsible for all the This role is responsible for all This role is responsible for all This role is responsible for all This role is responsible for functions in all phases of applications phases of the applications phases of the applications phases of the applications providing technical leadership development. This role assists with development. This role is development. development. and mentoring a team of 10+ analysis of user needs, software and responsible for the analysis of engineers. database design, programming and life- user needs, software and cycle development of all business and database design, clinical applications. programming and life cycle development of all business and clinical applications. Essential Functions /Scope *Participate in code reviews, support *Work independently within *Provide mentoring and *Drive technology plan for the IT *Manage and lead assigned business processes, and assist in guidelines, provide technical knowledge transfer to Software organization, and ensure that plans staff. Hire, train, rate problem analysis and consultation consulting on complex projects Engineers including input to code for their assigned applications performance, and take considering equipment capacity, reviews, training and developing -
Modeling System Requirements Using Use Cases and Petri Nets
ICSEA 2016 : The Eleventh International Conference on Software Engineering Advances Modeling System Requirements Using Use Cases and Petri Nets Radek Koˇc´ıand Vladim´ır Janouˇsek Brno University of Technology, Faculty of Information Technology, IT4Innovations Centre of Excellence Czech Republic email: {koci,janousek}@fit.vutbr.cz Abstract—The fundamental problem associated with software executable form, which can then be tested and debugged. All development is a correct identification, specification and sub- changes that result from validation process are hard to transfer sequent implementation of the system requirements. To specify back into the models. It is a problem because the models requirement, designers often create use case diagrams from become useless over the development time. Unified Modeling Language (UML). These models are then developed by further UML models. To validate requirements, Similar work based on ideas of model-driven develop- its executable form has to be obtained or the prototype has to be ment deals with gaps between different development stages developed. It can conclude in wrong requirement implementations and focuses on the usage of conceptual models during the and incorrect validation process. The approach presented in this simulation model development process—these techniques are work focuses on formal requirement modeling combining the called model continuity [8]. While it works with simulation classic models for requirements specification (use case diagrams) models during design stages, the approach proposed in this with models having a formal basis (Petri Nets). Created models can be used in all development stages including requirements paper focuses on live models that can be used in the deployed specification, verification, and implementation. -
Identify and Manage the Software Requirements Volatility Proposed Framework and Casestudy
(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 7, No. 5, 2016 Identify and Manage the Software Requirements Volatility Proposed Framework and CaseStudy Khloud Abd Elwahab Mahmoud Abd EL Latif Sherif Kholeif MSc student /Information system Associate Professor of information Assistant Professor of information Department system department system Faculty of computers and Faculty of computers and Faculty of computers and information, Helwan University line information, Helwan University information, Helwan University 3: Cairo, Egypt Cairo, Egypt Cairo, Egypt Abstract—Management of software requirements volatility a framework focus on how to manage requirements volatility through development of life cycle is a very important stage. It during the software development life cycle and to limit the helps the team to control significant impact all over the project implications thereof. The remainder paper is structured as (cost, time and effort), and also it keeps the project on track, to follows: Section 2 presents the motivation to search for the finally satisfy the user which is the main success criteria for the requirements volatility topic. Section 3 explains the software project. requirements volatility definition, factors, causes, and the In this research paper, we have analysed the root causes of measures, and finally explains the impact of that on software requirements volatility through a proposed framework development process. Section 4 contains proposed framework presenting the requirements volatility causes and how to manage and presents a case study in explanation of the benefits of this requirements volatility during the software development life framework. Section 5 concludes our results and provides some cycle. Our proposed framework identifies requirement error types, open research directions causes of requirements volatility and how to manage these II. -
The Conferences Start Time Table
ETAPS DAILY 4 April 2016 ETAPS DAILY Monday | The first main conferences day | Reception | Edsger W. Dijkstra Main Conferences The conferences start Time Table 830 - 900 : opening The first day of the main ETAPS conferences will be opened 900 -1000 : invited talk by Joost-Pieter Katoen followed by the first plenary speaker, Andrew D. Gordon. 1000 -1030 : coffee break 1030 -1230: parallel sessions Title: Structure and Interpretation of Probabilistic Programs Abstract: Probabilistic programming is a technique for 1230-1400: lunch solving statistical inference and machine learning problems by writing short pieces of code to model data. We survey the area 1400-1600 : parallel sessions and describe recent advances in semantic interpretation. Probabilistic programs exhibit structures that include 1600-1630: coffee break hierarchies of random variables corresponding to the data 1630-1800: parallel sessions schema, recurring modelling patterns, and also the classical Bayesian distinction between prior and likelihood. We exploit 1900-2230: reception this structure in language designs that yield data insights with only a modicum of user input. 1 ETAPS DAILY 4 April 2016 Reception at Kazerne Kazerne is a cultural organization oriented towards creative innovation in all its activities and at an international level. But Kazerne has ambitions to be more than just an international design hotspot where everything is shiny and new. It has its roots in the belief that creativity has an essential role to play in shaping the future of society. Edsger Wybe Dijkstra Edsger Wybe Dijkstra (11 May 1930 - 6 August 2002) was one of the most influential persons in the history of the Dutch computer science.