《软件工程-实践者的研究方法》chapter_07_cn_设计概念-35页精选文档
- 格式:ppt
- 大小:602.50 KB
- 文档页数:18
软件工程实践者的研究方法_背诵知识点20141224软件的定义:软件是:1)指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求;2)数据结构,使得程序可以充分利用信息;3)软件描述信息,以硬拷贝和虚拟形式存在,描述程序操作和使用。
软件与硬件的区别:软件是设计开发的;软件不会磨损;大多数软件是按需求定制的。
IEEE定义:(1)将系统化、规范化、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件;(2) 在(1)中所述方法的研究。
软件工程的层次:软件工程的根基在于质量关注点。
软件工程的基础是过程层。
过程将各个技术层次结合在一起,使得合理地、及时地开发计算机软件成为可能。
方法为构建软件提供技术上的解决方法("如何做")。
工具为过程和方法提供自动化或半自动化的支持。
通用过程模型的5种框架活动:沟通、策划、建模、构建、部署8个典型的普适性活动:软件项目跟踪与控制;风险管理;软件质量保证;技术评审;测量;软件配置管理;可复用管理;工作产品的准备和生产软件神化:关于软件及其开发过程被人们盲目相信的一些说法,它实际上误导了人们对软件开发的态度。
螺旋模型:一种风险驱动型的过程模型,一种演进式软件过程模型。
它结合了原型的迭代性质和瀑布模型的系统性和可控性特点。
具有快速开发越来越完善软件版本的潜力。
统一过程(UP):以用例为驱动、以系统架构为核心,迭代式增量式开发过程。
RUP包括起始、细化、构建、转换和生产5个阶段。
五个UP阶段并不是顺序地进行,而是阶段性地并发进行。
成熟度级别:第0级:不完全级、1已执行级、2已管理级、3已定义级、4已定量管理级、5优化级软件生命周期:软件计划与可行性研究、需求分析、软件设计、编码、软件测试、运行与维护瀑布模型:一个系统的、顺序的软件开发方法。
缺点:实际项目开发中很少遵守瀑布模型提出的顺序;客户难以清楚的描述所有的需求;客户要等到开发周期的晚期才能得到可执行的程序;在线性过程的开始和结束,容易发生“阻塞状态”。
作业答案。
2.1a.设计者对于用户要问的问题:项目的目标是什么?做到什么程度就成功了?谁会对项目的成功做最后的评判?项目的使用者包括那些?b. 用户对设计者应该问的问题:目前问题有哪些解决方案,项目完成有哪些难点,在时间范围内能否完成?c. 软件问题用户自问?还有其他解决方案吗?哪些功能是必须的?乙方资质和能力够吗?d. 软件过程问题自问?用敏捷还是用瀑布?质量检查点分别有哪些?有几个MileSton e?2.2 为沟通活动设计一系列动作,选定其一并设计任务集。
(批作业的时候,以合理为目标,不一定要一样)需求获取、需求规范说明(建模)、需求协商、需求确认等。
例如,书上page 23。
2.7 详细描述三个适合用于瀑布模型的软件项目。
(要求学生不仅仅列出项目的名称,而要说明为什么适合)瀑布模型适合于项目开发而不是产品开发。
信息管理系统一般适合于用瀑布模型。
因为这类系统业务功能较为明确,架构比较单一,技术难点较少。
图书馆系统、销售管理系统都是。
3.11 重构:已经写好的正确的代码,不断修正,使得代码更加精简并易读。
结对编程:两个人同时编写一段代码,一般一个人负责实现,一个人负责检查代码质量。
3.16 利用FDD,为“Web浏览器”定义一系列特征集合与特征。
特征集合模板:<Action><ing> an <Object> 如:出售一件商品特征定义模板:<Action> the <result> <by|for|of|to> a(n) <object>特征集合:展示Web页面内容。
特征:1)本地解析HT ML页面2)展示HTML页面3)从网络上下载页面相关图片4)在浏览器上展示图片附加:统一过程模型的图。
Research Methods for Software Engineering Practitioners - Curriculum Design for the 8th Edition(英文精编版第八版课程设计)IntroductionSoftware engineering is a highly complex and dynamic field that requires the use of effective research methods to identify, evaluate and adopt new and emerging technologies. As such, it is essential for software engineering practitioners to have a solid understanding of research methodology and techniques in order to remn competitive and innovative within the industry.This curriculum design is med at providing software engineering practitioners with a comprehensive understanding of research methods and their application within the field. The 8th edition of this course has been updated to reflect the latest trends and technologies in software engineering research.Course OverviewThe course is designed to cover a range of research methods and techniques, including quantitative and qualitative research, case studies, experiments, surveys, and action research. The course will be structured around the following modules:Module 1: Introduction to Research MethodsThis module will provide an overview of the different types of research methods and their applications within software engineering. It will cover the research process, including problem identification, research design, data collection, analysis, and interpretation.Module 2: Quantitative Research MethodsThis module will focus on quantitative research methods, including experimental research, survey research, and correlational research. It will cover the statistical analysis of data, including hypothesis testing and regression analysis.Module 3: Qualitative Research MethodsThis module will focus on qualitative research methods, including case studies, action research, and ethnography. It will cover data collection techniques, such as interviews, observations, and document analysis, and how to analyze and interpret qualitative data.Module 4: Mixed Methods ResearchThis module will cover mixed methods research, which combines quantitative and qualitative research methods. It will cover the benefits and challenges of mixed methods research, and how to integrate quantitative and qualitative data.Module 5: Research EthicsThis module will cover ethical issues in software engineering research, including informed consent, confidentiality, and data protection. It will also cover ethical issues related to the use ofartificial intelligence and machine learning in software engineering research.Learning OutcomesUpon completion of this course, students will be able to:•Understand the research process and different types of research methods•Evaluate the strengths and weaknesses of different research methods•Design and conduct research studies using appropriate research methods•Analyze and interpret quantitative and qualitative data•Understand ethical issues related to software engineering researchAssessmentAssessment will be based on a combination of coursework and a final exam. Coursework will include research proposals, research papers, and presentations. The final exam will test students’ knowledge of research methods and their ability to apply them to software engineering research.ConclusionThe 8th edition of Research Methods for Software Engineering Practitioners provides students with a comprehensive understanding of research methods and their applications within software engineering. The course is designed to equip students with the knowledge and skills theyneed to conduct effective software engineering research and remn competitive within the industry.。
读书笔记--软件⼯程实践者的研究⽅法(⼀)软件⼯程实践者的研究⽅法Software Engineer-Apractitioner’s Approach Fourth Edition第⼆部分软件项⽬的管理第三章项⽬管理的概念作者提出有效的项⽬管理集中于3个P:⼈员(people),问题(problem),过程(process)。
⼈员:项⽬参与者:包括:领导,项⽬经理,开发⼈员,客户(提出需求的⼈),最终⽤户(使⽤软件者)问题:作者提出软件项⽬管理的第⼀个活动是软件范围的确定。
即以下⼏个问题:背景:软件适应什么系统,产品的背景,有什么限制。
⽬标:软件要产⽣什么样的数据来作为输出。
需要什么输⼊。
功能和性能:软件有哪些功能,需要满⾜什么样的特殊性能。
作者提出⾯对问题“分⽽治之”的策略。
细化,提供更多细节。
过程:过程中如何选择⼀个合适的软件过程模型。
过程采⽤的软将⼯程模型主要有:线性顺序模型,原型模型,RAD模型,增量模型,螺旋模型,构件组装模型,并发开发模型等。
过程需要分解成具体的⼯作任务:如在与⽤户联系的时候,可能需要下列⼯作任务来完成:1.复审⽤户要求2.安排与⽤户讨论的会议3.研究如何定义解决⽅案和⽅法4.为正式的会议准备⼀份“⼯作⽂档”和议程。
5.召开会议6.共同制定需求规格说明书,该说明书能反映软件的数据,功能和⾏为特性。
7.复议每⼀份规格说明书,确认其正确性,⼀致性,和⽆⼆义性。
8.将所有的⼩规格说明书组装起来形成⼀份范围⽂档9.复审范围⽂档。
10.根据需求修改范围⽂档。