Written in a clear style to appeal to non-specialists as well as computer professionals, this text contains chapters on requirements engineering and object-oriented development together with a set of exercises on modelling techniques.
Software development and information systems design have a unique relationship, but are often discussed and studied independently. However, meticulous software development is vital for the success of an information system. Software Development Techniques for Constructive Information Systems Design focuses the aspects of information systems and software development as a merging process. This reference source pays special attention to the emerging research, trends, and experiences in this area which is bound to enhance the reader's understanding of the growing and ever-adapting field. Academics, researchers, students, and working professionals in this field will benefit from this publication's unique perspective.
Innovative tools and techniques for the development and design of software systems are essential to the problem solving and planning of software solutions. Software Design and Development: Concepts, Methodologies, Tools, and Applications brings together the best practices of theory and implementation in the development of software systems. This reference source is essential for researchers, engineers, practitioners, and scholars seeking the latest knowledge on the techniques, applications, and methodologies for the design and development of software systems.
Real-Time Systems Development introduces computing students and professional programmers to the development of software for real-time applications. Based on the academic and commercial experience of the author, the book is an ideal companion to final year undergraduate options or MSc modules in the area of real-time systems design and implementation. Assuming a certain level of general systems design and programming experience, this text will extend students' knowledge and skills into an area of computing which has increasing relevance in a modern world of telecommunications and 'intelligent' equipment using embedded microcontrollers. This book takes a broad, practical approach in discussing real-time systems. It covers topics such as basic input and output; cyclic executives for bare hardware; finite state machines; task communication and synchronization; input/output interfaces; structured design for real-time systems; designing for multitasking; UML for real-time systems; object oriented approach to real-time systems; selecting languages for RTS development; Linux device drivers; and hardware/software co-design. Programming examples using GNU/Linux are included, along with a supporting website containing slides; solutions to problems; and software examples. This book will appeal to advanced undergraduate Computer Science students; MSc students; and, undergraduate software engineering and electronic engineering students. * Concise treatment delivers material in manageable sections* Includes handy glossary, references and practical exercises based on familiar scenarios* Supporting website contains slides, solutions to problems and software examples
80% of software projects fail--here's why the other 20% succeed! Software Development is the most thorough, realistic guide to "what works" in software development--and how to make it happen in your organization. Leading consultant Marc Hamilton tackles all three key components of successful development: people, processes, and technology. From streamlining infrastructures to retraining programmers, choosing tools to implementing service-level agreements, Hamilton unifies all of today's best practices--in management, architecture, and software engineering. There's never been a more comprehensive blueprint for software success. Discover "The Ten Commandments of Software Development" Build a winning software development team, organize it for success - and retain your best talent Create a software architecture that maps to business goals and serves as a foundation for successful development Define processes that streamline component and Web-based development projects Leverage the advantages of object-oriented techniques throughout the entire lifecycle Make the most of Java, JavaBeans, and Jini technology Learn the best ways to measure software quality and productivity--and improve them Software Development is ruthlessly realistic and remarkably accessible--for managers and technical professionals alike. Best of all, its techniques can be applied to any project or organization, large or small. Ready to build software that meets all its goals? This book will get you there.
- support an adaptive culture or mindset, in which change and uncertainty are assumed to be the natural state--not a false expectation of order- introduce frameworks to guide the iterative process of managing change- institute collaboration, the interaction of people on three levels: interpersonal, cultural, and structural- add rigor and discipline to the RAD approach, making it scalable to the uncertainty and complexity of real-life undertakings
One semester, Jr/Sr/Grad course in systems analysis and design, or capstone course in MIS departments where students work on a project or extensive case. McLeod and Jordan's text is ideal for courses where student teams develop and implement software systems in real organizations, or where students develop software to solve problems in written cases. The text is organized into nine chapters and eight supporting technical modules: the chapters provide a unique, thorough coverage of the entire system development life cycle (SDLC), and a strong foundation in systems concepts and systems methodologies, while the technical modules provide the tools students need to implement and apply the concepts. The goal of the text is to provide a strong foundation of the concepts, with emphasis on the later phases of actual implementation and design, providing the methodologies and tools necessary to complete a systems project in a real organization, including installation of operational software. It has been successfully class-tested by over 400 students.
This book argues that the key problems of software systems development (SSD) are socio-technical rather than purely technical in nature. Software systems are unique. They are the only human artefacts that are both intangible and determinant. This presents unprecedented problems for the development process both in determining what is required and how it is developed. Primarily this is a problem of communications between stakeholders and developers, and of communications within the development team. Current solutions are not only inadequate in expressing the technical problem, they also evade the communications problems almost entirely. Whilst the book addresses the theoretical aspects of the process, its fundamental philosophy is anchored in the practical problems of everyday software development. It therefore offers both a better understanding of the problems of SSD and practical suggestions of how to deal with those problems. It is intended as a guide for practising IT project managers, particularly those who are relatively new to the position or do not have a strong IT development background. The book will also benefit students in computing and computer-related disciplines who need to know how to develop high quality systems. Software systems development (particularly of large projects) has a notoriously poor track record of delivering projects on time, on budget, and of meeting user needs. Proponents of software engineering suggest that this is because too few project managers actually comply with the disciplines demanded of the process. It is time to ask the question, if this is the case, why might this be? Perhaps instead, it is not the project managers who are wrong, but the definition of the process. The new understanding of the SSD presented here offers alternative models that can help project managers address the difficulties they face and better achieve the targets they are set. This book argues that time is up for the software engineering paradigm of SSD and that it should be replaced with a socio-technical paradigm based on open systems thinking.
Today's embedded and real-time systems contain a mix of processor types: off-the-shelf microcontrollers, digital signal processors (DSPs), and custom processors. The decreasing cost of DSPs has made these sophisticated chips very attractive for a number of embedded and real-time applications, including automotive, telecommunications, medical imaging, and many others—including even some games and home appliances. However, developing embedded and real-time DSP applications is a complex task influenced by many parameters and issues. DSP Software Development Techniques for Embedded and Real-Time Systems is an introduction to DSP software development for embedded and real-time developers giving details on how to use digital signal processors efficiently in embedded and real-time systems. The book covers software and firmware design principles, from processor architectures and basic theory to the selection of appropriate languages and basic algorithms. The reader will find practical guidelines, diagrammed techniques, tool descriptions, and code templates for developing and optimizing DSP software and firmware. The book also covers integrating and testing DSP systems as well as managing the DSP development effort. - Digital signal processors (DSPs) are the future of microchips! - Includes practical guidelines, diagrammed techniques, tool descriptions, and code templates to aid in the development and optimization of DSP software and firmware