软件工程及软件方法学
-
平衡敏捷与规范(美)鲍伊姆,(美)特纳 著,邓辉,孙鸣 译;邓辉译如何取得敏捷方法与规范方法的平衡,这是一个困扰着无数软件从业人员的大问题。本书针对这一现状,直接切入有效的核心概念,为定义平衡的软件开发策略提出了建设性方案。书中陈述了敏捷方法和规范方法各自擅长的领域及其各自的劣势,展示了敏捷方法和规范方法实际上是相辅相成的。本书通过介绍出两个开发组一天的项目活动以及富有新意的案例分析,演老婆子了如何平衡敏捷方法与规范方法。这对处于困惑中的软件从业人员而言,具有重要的指导意义。通过本书客观而务实的分析,读者可针对自己的项目,找到最佳的敏捷-规范平衡点。 -
软件工程肖孟强 等主编本书是根据教育部应用型本科21世纪规划教材指导思想与原则的要求,充分考虑应用型本科人才的培养目标和教学特点编写而成的。全书共12章,主要内容包括:软件工程概念、可行性研究与需求分析、软件设计、面向对象技术、统一建模语言UML、编码与编程语言、软件测试、软件维护、软件工程管理和质量保证、软件工程标准化、软件工程环境、嵌入式系统软件技术。本书在每一章的开头均给出本章的教学目标、教学任务和重点难点,每一章的最后给出实例分析和本章小结,附以部分习题,以便于教学与自学。 本书强调内容的实用性。按软件工程的全过程来安排与组织内容,条理性强,以案例 教学为驱动,易于学生学习与掌握。 本书可作为应用型本科计算机、自动化、机电类等专业和高职高专计算机专业的教材, 也可作为自学教材和软件开发人员的参考用书。 本书所配电子教案可以从中国水利水电出版社网站上免费下载,网址为: http://www.waterpub.com.cn/softdown/。 -
软件工程之全程建模实现青润 编著本书最大的一个特色就是所有的示例都来自于自2001年初至今笔者亲自经历的采用UML进行建模支持的6个大中型工程软件项目。通过这几年来实际工程项目的经验总结,本书采用UML建模的方式进行软件的实现,覆盖了软件工程的从需求开始,经过分析(概要设计)、设计(详细设计)、编码的导出,到设计模型的维护等所有的主要阶段。因此,本书具有很高的现实意义和参考价值。书中的示例和操作技巧,大部分都是第一次面向大众公开,其中小部分内容曾经在CSDN的软件工程版块出现过,但是在CSDN上公开的部分都无法张贴示例图,所以,总还是无法描述得很形象,本书为此提供了一个完整的解释。本书主要介绍的是采用UML建模实现软件工程的主要过程,包括需求、分析、设计、代码导出、设计模型维护等,对协作开发等团队开发所要求的必备知识也进行了详细的描述。本书采用了国内实际软件工程中的大量截图,通过图形和示例描述工程实际中的问题和过程。这在国内原创的软件工程类书籍中是很少见的。本书适合于对UML基础知识有一定的了解,同时参加过一些实际工程项目开发而又对全程建模过程实现感兴趣的人员阅读。 -
面向方面的软件开发菲尔曼 等主编,莫倩 等译;莫倩译权威的面向方面软件开发参考书:针对软件复杂性挑战的实践性解决之道当前,软件工程师们必须构建这样的系统,它们要处理在技术、商业和性能等领域范围中不断增长的关注点。如果使用常规的面向对象技术完成这项任务,软件工程师们常常发现他们自身会生成大量混杂、不正确和难以维护的代码。面向方面的软件开发(AOSD)通过允许他们分离地描述关注点,然后将模块化的表达形式组合到可靠的高效系统之中,从而解决了这个问题!在本书中,AOSD开发领域的四位领袖人物为我们带来了当前最为重要的前沿进展。基于该领域多位领先研究者的贡献,他们在本书中描述了基本的AOSD概念,介绍了AOSD工程和编程的崭新技术,以及早期采用AOSD方法的详细应用经验。面向方面开发已经产生了一段时间。如果您是一位富有经验的软件工程师或体系架构师,本书包含了您在真实世界系统开始应用它的全部所需! -
基于用例的面向方面软件开发(美)雅各布森 等著Aspect-oriented programming (AOP) is a revolutionary new way to think about software engineering.AOP was introduced to address crosscutting concerns such as security, logging, persistence, debugging, tracing, distribution, performance monitoring, and exception handling in a more effective manner. Unlike conventional development techniques, which scatter the implementation of each concern into multiple classes, aspect-oriented programming localizes them..Aspect-oriented software development (AOSD) uses this approach to create a better modularity for functional and nonfunctional requirements, platform specifics, and more, allowing you to build more understandable systems that are easier to configure and extend to meet the evolving needs of stakeholders.In this highly anticipated new book, Ivar Jacobson and Pan-Wei Ng demonstrate how to apply use cases:a mature and systematic approach to focusing on stakeholder concerns:and aspect-orientation in building robust and extensible systems. Throughout the book, the authors employ a single, real-world example of a hotel management information system to make the described theories and practices concrete and understandable.The authors show how to identify, design, implement, test, and refactor use-case modules, as well as extend them. They also demonstrate how to design use-case modules with the Unified Modeling Language (UML):emphasizing enhancements made in UML 2.0:and how to achieve use-case modularity using aspect technologies, notably AspectJ...Key topics include·Making the case for use cases and aspects·Capturing and modeling concerns with use cases·Keeping concerns separate with use-case modules·Modeling use-cases slices and aspects using the newest extensions to the UML notation·Applying use cases and aspects in projects...Whatever your level of experience with aspect-oriented programming, Aspect-Oriented Software Development with Use Cases will teach you how to develop better software by embracing the paradigm shift to AOSD. -
统一过程最佳实践(加)安布勒,(澳)康斯坦丁 等著,兰雨晴 等译统一过程是面向对象基于构件软件开发过程的惟一过程和标准过程吗?本书是这四本系列丛书的最后一本,它对统一过程提出了批评意见。作者介绍了其他可选择的软件过程,并且将统一过程与其他软件过程综合形成了一个处理真实世界开发和产品需要的更完整的、更健壮的统一过程。在详细阐述一个更完整的统一过程之后,每一卷书介绍了当前实现统一过程各个阶段(初始、细化、构造、移交和产品化)最佳实践的大师的经验智慧集合。汇集业界杰出人物的集体智慧。来自于EllenGottesdiener、LarryO’Brien、SteveMcConnell、LarryRunge、KarlWiegers等的文章为读者提供对如下论题的观点:●如何开发和维护大规模、关键任务软件。●程序设计如何适合整体开发生命周期。●提高你的角色(职业)的技巧和技术。并且在需求、管理项目风险、测试和度量投入以及选择和配置正确的工具等方面采用最佳实践来处理实施软件过程的若干细节。一个增强生命周期来实现企业级统一过程。本书提供了正确部署、操作和支持新系统所需要的信息。在移交阶段将一个新系统交付给用户团体的过程中,你将:●测试和验证完整的系统。●并行地操作所开发的系统和遗留系统。●转换遗留的数据库和系统,使之支持新发布的版本。●培训用户操作人员、支持人员和维护开发人员。为了确保产品化阶段中系统的连续运行,你将:●监控系统,采取恰当的操作来确保系统连续运行。●操作和维护相关的工作、日志记录和支持系统。●对帮助请求、错误报告和特性请求做出响应。●管理变更控制过程。本书的内容由美国((SoftwareDevelopment))杂志提供。 -
中国软件出口研究报告中华人民共和国商务部 编软件产业是信息产业的核心,是国家的主导型、战略型产业。软件出口对促进我国外贸结构调整和国民经济发展具有重要意义。近年来,由于国家政策的强有力支持,软件企业的出口积极性空前高涨,我国软件出口总量不断增加,显示出强劲的增长后劲。贯彻和落实科学的发展观,进一步实施科技兴贸战略,紧紧抓住当前国际信息产业向发展中国家转移这一难得的历史机遇,大力发展软件和信息服务出口,必将为今后国家产业结构优化和外贸出口可持续增长做出重要贡献。本报告旨在深入研究和全面总结2000年国务院18号文件颁布以来我国的软件和信息服务出口工作,摸清软件产业和软件出口的实际情况和发展需求,分析借鉴其他国家软件和信息服务出口工作的成功经验,提出抓住机遇、发展软件和信息服务出口的有效对策,为国务院有关部门了解软件和信息服务出口工作情况、制定相关政策提供参考。 -
软件工程的事实与谬误(美)格拉斯(Glass, R.L.)著;严亚军, 龚波译构建软件是种“新生的”技术。中然该领域中许多资深的专业人士似乎并不这么认为,但是对整个职业体系而言,软件构建者相对的属于“新生一代”。在短短的软件史中,人们发现了许多事实与谬误。本书就是来讨论这些事实与谬误的。关于这些事实与谬误存在一个问题——这一点估计你也会感觉到——许多重要的基本事实已经被软件工程师所认知,但是就在软件业短暂的生命过程中,其中太我基本事实已经被遗忘了。在阅读本书时,你也许会说“真的如此吗?”或者“噢,对了,我忘了这一点”。本书的作者不回避争议。实际上,在讨论每个事实与谬误时都会提及相关的建议。你可能同意其中许多事实与谬误,也可能会对其中一些不认可!无论你是否同意,你都会明白为什么作者被称为“软件工程界最爱发脾气的老家伙。”这些事实与谬误对于构建软件至关重要——如果你遗忘或者忽略它们,后果自负! -
软件测试宫云战 编著如今软件的复杂程度及规模使编写安全、无缺陷代码异常困难,甚至对具有丰富经验的程序员也是这样。然而我们的日常工作对软件越来越依赖,软件已在几乎所有行业中普遍使用,以上这些意味着一个安全漏洞或者软件缺陷可能带来灾难。采用非正式且业余的缺陷捕获方式是不可能写出优质软件来的,编写优质的软件要求用系统、规范的方法来防止、发现、报告缺陷。本书向读者展示了成为一名成功的软件测试员应做的工作,以确保在用户使用之前发现这些讨厌的缺陷。本书主要内容:●学习软件开发的通用方法。●了解如何把软件测试应用到软件开发过程中。●学习测试软件和发现缺陷的基本技术。●了解软件测试技术如何应用到任意类型、任意规模和任意复杂度的软件中。●了解为什么尽早地发现缺陷是测试的目的以及实现该目的的最佳途径。●了解为什么软件具有安全漏洞以及如何发现安全漏洞。●理解软件测试程度的局限性以及软件测试所能发现的缺陷范畴。●了解在软件测试背后一些公司的策略。●了解如何使用不同的自动测试工具来加强测试。●理解如何计划测试以及如何跟踪测试过程。●了解如何巧妙地向程序员报告程序缺陷。●了解测试行业的发展方向以及如何把握此方向。 -
软件开发技术基础赵英良 等编著《软件开发技术基础》根据教育部非计算机基础课程教学指导分委员会《关于进一步加强高校计算机基础教学的意见》中软件类课程的要求,结合非计算机专业软件开发的特点组织编写。《软件开发技术基础》介绍了常用的计算机软件开发技术,如:软件开发方法、数据结构及其应用、操作系统及相关程序设计技术、数据库及应用程序开发、网络软件开发技术、多媒体编程技术等。书中还包括两个附录:Visual C++6.0Windows编程基础和实验指导。本书以C++为实验环境,内容实用,条理清晰,每章均有一定数量的例题和习题,旨在锻炼的软件开发能力。《软件开发技术基础》适合作为高等院校理工科非计算机专业的教材,也可作为计算机培训教材。
