Non-functional Requirements in Systems Analysis and Design


Book Description

This book will help readers gain a solid understanding of non-functional requirements inherent in systems design endeavors. It contains essential information for those who design, use and maintain complex engineered systems, including experienced designers, teachers of design, system stakeholders and practicing engineers. Coverage approaches non-functional requirements in a novel way by presenting a framework of four systems concerns into which the 27 major non-functional requirements fall: sustainment, design, adaptation and viability. Within this model, the text proceeds to define each non-functional requirement, to specify how each is treated as an element of the system design process and to develop an associated metric for their evaluation. Systems are designed to meet specific functional needs. Because non-functional requirements are not directly related to tasks that satisfy these proposed needs, designers and stakeholders often fail to recognize the importance of such attributes as availability, survivability, and robustness. This book gives readers the tools and knowledge they need to both recognize the importance of these non-functional requirements and incorporate them in the design process.




Non-functional Requirements in Systems Analysis and Design


Book Description

This book will help readers gain a solid understanding of non-functional requirements inherent in systems design endeavors. It contains essential information for those who design, use and maintain complex engineered systems, including experienced designers, teachers of design, system stakeholders and practicing engineers. Coverage approaches non-functional requirements in a novel way by presenting a framework of four systems concerns into which the 27 major non-functional requirements fall: sustainment, design, adaptation and viability. Within this model, the text proceeds to define each non-functional requirement, to specify how each is treated as an element of the system design process and to develop an associated metric for their evaluation. Systems are designed to meet specific functional needs. Because non-functional requirements are not directly related to tasks that satisfy these proposed needs, designers and stakeholders often fail to recognize the importance of such attributes as availability, survivability, and robustness. This book gives readers the tools and knowledge they need to both recognize the importance of these non-functional requirements and incorporate them in the design process.




Non-Functional Requirements in Software Engineering


Book Description

Non-Functional Requirements in Software Engineering presents a systematic and pragmatic approach to `building quality into' software systems. Systems must exhibit software quality attributes, such as accuracy, performance, security and modifiability. However, such non-functional requirements (NFRs) are difficult to address in many projects, even though there are many techniques to meet functional requirements in order to provide desired functionality. This is particularly true since the NFRs for each system typically interact with each other, have a broad impact on the system and may be subjective. To enable developers to systematically deal with a system's diverse NFRs, this book presents the NFR Framework. Structured graphical facilities are offered for stating NFRs and managing them by refining and inter-relating NFRs, justifying decisions, and determining their impact. Since NFRs might not be absolutely achieved, they may simply be satisfied sufficiently (`satisficed'). To reflect this, NFRs are represented as `softgoals', whose interdependencies, such as tradeoffs and synergy, are captured in graphs. The impact of decisions is qualitatively propagated through the graph to determine how well a chosen target system satisfices its NFRs. Throughout development, developers direct the process, using their expertise while being aided by catalogues of knowledge about NFRs, development techniques and tradeoffs, which can all be explored, reused and customized. Non-Functional Requirements in Software Engineering demonstrates the applicability of the NFR Framework to a variety of NFRs, domains, system characteristics and application areas. This will help readers apply the Framework to NFRs and domains of particular interest to them. Detailed treatments of particular NFRs - accuracy, security and performance requirements - along with treatments of NFRs for information systems are presented as specializations of the NFR Framework. Case studies of NFRs for a variety of information systems include credit card and administrative systems. The use of the Framework for particular application areas is illustrated for software architecture as well as enterprise modelling. Feedback from domain experts in industry and government provides an initial evaluation of the Framework and some case studies. Drawing on research results from several theses and refereed papers, this book's presentation, terminology and graphical notation have been integrated and illustrated with many figures. Non-Functional Requirements in Software Engineering is an excellent resource for software engineering practitioners, researchers and students.




Mastering Non-Functional Requirements


Book Description

This book covers the most critical 24 NFRs that are applicable to IT applications and systems. About This Book Explains three stages of nonfunctional requirements, that is, analysis, architecture, and assessment In-depth knowledge of NFR framework and taxonomy that provides guidance around the modelling phase for the NFRs Coverage of 24 critical and pivotal NFRs, including the analysis, architecture, and assessment. Who This Book Is For The primary audience for this title are the gamut of roles starting from IT consultant to chief architects who are responsible to deliver strategic, tactical, and operational engagements for fortune 100 customers worldwide. Nonfunctional requirements are the key to any software / IT program. They cannot be overlooked or ignored. The book provides a comprehensive approach from analysis, architecture, and measurement of nonfunctional requirements. The book includes considerations for bespoke (Java, .Net, and COTS applications). These are applicable to IT applications from various domains. The book outlines the methodology for capturing the NFRs and also describes a framework that can be leveraged by analysts and architects for tackling NFRs for various engagements. The audience for this book include business analysts, enterprise architects, business architects, solution architects, technical architects/designers, domain/security/integration architects, software developers, support engineers and test engineers, technical project managers, project leads/technical leads/technical project managers, and students from the computer science/IT stream What You Will Learn Learn techniques related to the analysis, architecture, and monitoring of NFRs Understand the various tools, techniques, and processes in order to improve the overall quality of the desired outcomes Embrace the best practices of architecting, metrics, and success factors for NFRs Identify the common pitfalls to be avoided and the patterns to leverage Understand taxonomy and framework for NFRs Learn the design guidelines for architecting applications and systems relating to NFRs Abstract different methodologies to analyze and gather NFRs In Detail Non-functional Requirements are key to any software/IT program and cannot be overlooked or ignored. This book provides a comprehensive approach to the analysis, architecture, and measurement of NFRs. It includes considerations for bespoke Java, .NET, and COTS applications that are applicable to IT applications/systems in different domains. The book outlines the methodology for capturing the NFRs and also describes a framework that can be leveraged by analysts and architects for tackling NFRs for various engagements. This book starts off by explaining the various KPIs, taxonomies, and methods for identifying NFRs. Learn the design guidelines for architecting applications and systems relating to NFRs and design principles to achieve the desired outcome. We will then move on to various key tiers/layers and patterns pertaining to the business, database, and integrating tiers. After this, we will dive deep into the topics pertaining to techniques related to monitoring and measurement of NFRs, such as sizing, analytical modeling, and quality assurance. Lastly, we end the book by describing some pivotal NFRs and checklists for the software quality attributes related to the business, application, data, and infrastructure domains. Style and approach The book takes a pragmatic approach, describing various techniques related to the analysis of NFRs, the architecture of NFRs, and assessment of NFRs.




Systems Analysis and Design


Book Description

Alan Dennis' 5th Edition of Systems Analysis and Design continues to build upon previous issues with it hands-on approach to systems analysis and design with an even more in-depth focus on the core set of skills that all analysts must possess. Dennis continues to capture the experience of developing and analyzing systems in a way that readers can understand and apply and develop a rich foundation of skills as a systems analyst.







Advanced Information Systems Engineering


Book Description

Proceedings




Non-functional Requirements in Systems Analysis and Design


Book Description

This book will help readers gain a solid understanding of non-functional requirements inherent in systems design endeavors. It contains essential information for those who design, use, and maintain complex engineered systems, including experienced designers, teachers of design, system stakeholders, and practicing engineers. Coverage approaches non-functional requirements in a novel way by presenting a framework of four systems concerns into which the 27 major non-functional requirements fall: sustainment, design, adaptation, and viability. Within this model, the text proceeds to define each non-functional requirement, to specify how each is treated as an element of the system design process, and to develop an associated metric for their evaluation. Systems are designed to meet specific functional needs. Because non-functional requirements are not directly related to tasks that satisfy these proposed needs, designers and stakeholders often fail to recognize the importance of such attributes as availability, survivability, and robustness. This book gives readers the tools and knowledge they need to both recognize the importance of these non-functional requirements and incorporate them in the design process.




Conceptual Modeling: Foundations and Applications


Book Description

This Festschrift volume, published in honor of John Mylopoulos on the occasion of his retirement from the University of Toronto, contains 25 high-quality papers, written by leading scientists in the field of conceptual modeling. The volume has been divided into six sections. The first section focuses on the foundations of conceptual modeling and contains material on ontologies and knowledge representation. The four sections on software and requirements engineering, information systems, information integration, and web and services, represent the chief current application domains of conceptual modeling. Finally, the section on implementations concentrates on projects that build tools to support conceptual modeling. With its in-depth coverage of diverse topics, this book could be a useful companion to a course on conceptual modeling.




Applied Software Project Management


Book Description

"If you're looking for solid, easy-to-follow advice on estimation, requirements gathering, managing change, and more, you can stop now: this is the book for you."--Scott Berkun, Author of The Art of Project Management What makes software projects succeed? It takes more than a good idea and a team of talented programmers. A project manager needs to know how to guide the team through the entire software project. There are common pitfalls that plague all software projects and rookie mistakes that are made repeatedly--sometimes by the same people! Avoiding these pitfalls is not hard, but it is not necessarily intuitive. Luckily, there are tried and true techniques that can help any project manager. In Applied Software Project Management, Andrew Stellman and Jennifer Greene provide you with tools, techniques, and practices that you can use on your own projects right away. This book supplies you with the information you need to diagnose your team's situation and presents practical advice to help you achieve your goal of building better software. Topics include: Planning a software project Helping a team estimate its workload Building a schedule Gathering software requirements and creating use cases Improving programming with refactoring, unit testing, and version control Managing an outsourced project Testing software Jennifer Greene and Andrew Stellman have been building software together since 1998. Andrew comes from a programming background and has managed teams of requirements analysts, designers, and developers. Jennifer has a testing background and has managed teams of architects, developers, and testers. She has led multiple large-scale outsourced projects. Between the two of them, they have managed every aspect of software development. They have worked in a wide range of industries, including finance, telecommunications, media, nonprofit, entertainment, natural-language processing, science, and academia. For more information about them and this book, visit stellman-greene.com