版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Computing and SE IIIntroduction and OverviewEr-Yu Ding2009-9Software Institute, NJURecommend papernProspects for an engineering discipline of softwaren what knowledge is important to a software professional Main Contents1.Introduction2.What is software?3.What is SE (Software Engineering)?4.SE .vs. C
2、S (Computer Science)?5.Contents of SE6.How to learn SE?丁二玉925E83621362-925You should learned beforen计算系统基础q硬件初步(计算机体系结构)q系统软件初步(操作系统、编译)qC语言(结构化程序设计)n计算与软件工程IqJava语言(面向对象程序设计)q基本的面向对象思想q软件工程初步?n离散数学Till now you cannProgrammingqWith c or javanKeywordsnSyntaxnSemanticqUsing the abstract software entit
3、iesnInstructionnStatementnFunctionsnModulenObjectnObject-OrientedqInherit, Encapsulation, PolymorphismThis is Software Engineering ?This is only Programming!Objectives of this coursenBasics of Software EngineeringqBased on your capability of programmingqBase on the knowledge you have learnednabstrac
4、t software entitiesqFunctions/Object/Module/Object-OrientedqDo Software, not ProgramnAnalysis, Design and CreativityqBehavior in engineering manner, not a hero!nEngineering ideanTeamworknMonitor and controlCourse overviewn目标,通过本课程的学习,学生应该能够:q掌握软件工程的基本思想、方法和技术,了解软件工程发展历史,理解软件生命周期的各个阶段和各种软件开发模型;q建立工程观
5、,了解软件工程的专业范畴,掌握有关职业技能,理解软件开发的“工程性”;q能够选择合适的系统开发方法,规划一个中等规模软件系统的开发过程;q理解结构化方法和面向对象方法。掌握基本的结构化或面向对象的分析与设计技术,能够为一个中等规模系统创建高质量的ERD、DFD、结构图、UML用例图、类图、顺序图、状态图和构件图。并初步理解软件工程的复杂性,能够为较复杂问题提供合理的解决方案,包括问题分析、基本的体系结构构建和设计方案折中与选择q理解软件质量保障方法,包括软件评审和软件测试的基本方法,能够完成中等规模系统的质量保障;q理解软件项目管理思想,能够为开发一个中等规模系统作出规划,能够对中等规模软件系
6、统的开发进度进行度量和追踪;q利用软件工程方法提高程序设计技能,树立在宏观软件工程方法下展开程序设计的理念和习惯Course overviewn教学内容包括:q软件的工程基础q软件工程的专业范畴q软件工程的发展历史和从业知识。q软件需求基础q软件设计基础q软件构造基础q软件质量基础q软件演化基础q软件项目管理基础Course overviewn资料q教材n课件n软件工程实践者的研究方法q参考资料nIan Sommerville,软件工程(原书第8版),机械工业出版社nShari Lawrence Pfleeger,Joanne M.Atlee,软件工程(第3版),人民邮电出版社n软件工程课程网
7、站:/jsalvage/Summer2007/CS451/index.htmln软件工程课程网站:/turgut/COURSES/EEL6883_SEII_Spr07/ EEL6883_SEII_Spr07_LectureSlides.htmln软件工程经典论文推荐:http:/www.inf.ed.ac.uk/teaching/courses/seoc1/2005_2006/resources/Course overviewn考核q作业n10q实验n工作簿管理n40%q期末考试n50课程要求n课前预习n课堂
8、q认真听讲q做好笔记n作业q独立完成q准时提交n晚提交的:1天扣10;3天扣30;一周扣50;一周0分q雷同者取消课程成绩n课外q复习q分层次拓展n考试q严格要求Main Contents1.Introduction2.What is software?3.What is SE (Software Engineering)?4.SE .vs. CS (Computer Science)?5.Contents of SE6.How to learn SE?2. What is software?Your thoughts here!?SoftwarenIn the first, software
9、 is not separated qBefore 1960sinstructionMachineSoftwarenWhen software is produced, it are toolsqSoftware = programs + documents + data+CodeSoftwarenAbout now, software is simulation more than toolqKnowledge is carried on software qSoftware = programs + documents + data + knowledgeknowledgeSolution
10、s=organization of software entitiesProgram (Code)Application (Real World )CentricKnowledge Centric Need to find Need to process Need teamwork Will changing the worldTasks of software developmentnAll software construction involves essential tasks, the fashioning of the complex conceptual structures t
11、hat compose the abstract software entityqAnalysis, Design and CreativitynAnd accidental tasks, the representation of these abstract entities in programming languages and the mapping of these onto machine languages within space and speed constraints.-Frederick P. Brooks, Jr., No Silver Bullet, 1986Ma
12、in Contents1.Introduction2.What is software?3.What is SE (Software Engineering)?4.SE .vs. CS (Computer Science)?5.Contents of SE6.How to learn SE?Software is much more complex than ProgramnAs simulation of the world, software must simulative to the real world mostly and can solve problems of the rea
13、l worldnThe real world is complexnSo qSoftware is complexnProblems are complexnSolutions are complexqOnly programmers cant deal with software development wellnThey dont know the problems and solutionsnAnd none can tell them the knowledge clearlyqIf we still produce software only with programming, ba
14、dly things will happen.Software needed to be engineeredn1968年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上第一次提出了“软件危机”(software crisis)这个名词q软件危机: 指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题n开发成本超出预算,实际进度比预定计划一再拖延。n用户对“已完成”系统不满意的现象经常发生。n件产品的质量往往靠不住。Bug一大堆,Patch一个接一个。n件的可维护程度非常之低。n软件通常没有适当的文档资料。n软件的成本不断提高。n软件开发生产率的提高赶不上硬件的发展和人们需求
15、的增长n1969年的后续会议中提出了“软件工程”的发展之路Software engineering is about managing the complexity!3. What is SE ?Your thoughts here!?What is Software Engineering?nAs defined in IEEE Standard 610.12:q(1)The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenanc
16、e of software; that is, the application of engineering to software.q(2)The study of approaches as in (1)q(1)应用系统化的、学科化的、定量的方法,来开发、运行和维护软件,即,将工程应用到软件。q(2)对(1)中各种方法的研究。EngineeringnExamplesqMechanical engineeringqArchitectural engineeringqChemical engineeringqElectrical engineeringqNuclear engineeringq
17、nYours thoughts hereqWhat is the word “Engineering” means?What is the “Engineering” means?nEngineering is qThe application of scientific principles and methods to the construction of useful structures & machines which can solve some problems of the real worldqCreating cost-effective solutions to pra
18、ctical problems by applying scientific knowledge to building things in the service of mankindFactors of EngineeringnProblem: MotivationnScientific Knowledge: InstrumentnSolution/Machine: ObjectivenCost-Benefit Effective: Condition Software engineeringnProblemqReal world chaosnIf the state of the rea
19、l world do not accord with our expectations , then there is a problem.qBroad scopenAll fields that mankind set foot innIn others engineering, problems are limitedqMostly not clear, needed to be discoverednIn others engineering, problems are specific and clearqEngineering IdeanObjectives (Know what y
20、ou want to)nCan software engineer master so much knowledge?qAs a software engineer, communication and negotiation skill is very importantqCollaborating with all kinds of people, especially users.qTeamworkTeamworknAbout SE professional qSystems Analyst - to find whats the problem and the direction th
21、e solutionqSoftware Architect give solution a overall structure for the problemqSoftware Designer design the solution detail structureqSoftware Programmer implements the design using software development toolsqSoftware Tester (independent verification and validation e.g. NASA IV&V Facility, South Fa
22、irmont)qSoftware Project Manager Coordinator, Monitor and controllernplan, organize, direct, coordinate, control a software project (emphasis on risk management)TeamworknAbout SE professional(cont.)qSoftware Configuration Manager identify, change control, status accounting, audits and reviewsqSoftwa
23、re Quality Manager/Engineer software reliability modeling, statistical quality control, defect analysisqSoftware Network Specialist LAN/WAN Network design, installation, maintenanceqSoftware Systems Administrator administers user accounts, technology refreshment, software deployment to users, softwa
24、re problem solversqSoftware Database Administrator administers the database (installation, maintenance, backup, refreshment)qSoftware engineeringnScientific KnowledgeqComputing science as the scientific basisnFormal techniquesqBased on mathematics and logicqMany aspects have been made systematicnMet
25、hods/methodologies/techniquesnLanguagesnToolsnProcessesSoftware engineeringnScientific KnowledgeqScience .vs. PracticenFormalists: base their work on the theoretical foundations of computing sciencenPragmatists: take that software engineering is a practical discipline that can be benefit from more t
26、han formal techniquesqEngineering IdeanScience + Principle + ArtSoftware engineeringnScience + Principle + ArtqScience-Computing science knowledge is basis of SEnFeatures of the computernSoftware entities (program languages)nMethods/methodologies/techniquesnqPrinciple-Practice knowledge should also
27、be effective sharednMethods/techniquesnProblems/solutionsnqArtnCreativitySoftware engineeringnSolution/MachineqVirtual Machine=General machine + Specific solutionnSolution can be mapped into the general machine with the help of program languagesnNot different machines for different problems, like ot
28、hers engineeringqDevelopment of solution is the essential task of SEqMapping solution into general machine is accidental task of SESoftware engineeringnDo the solution work?qEngineering Idea nTradeoffqMonitor and Control Technology churnPerformanceThroughputCapacityAvailabilitySafetyFault toleranceF
29、unctionalityCostCompatibilityResilienceSoftware engineeringnCost-Benefit EffectiveqFeasibility studynBenefit is up to clientsnCost is up to software engineerqThere are always many ways to a destination, software engineers should choose the most cost-benefit effective one (not the most advanced one).
30、qWhen cost-benefit is inessential, then SE may disappearsnCost is smallqSmall programnBenefit is implicitqExploration studynCost is inessentialqComputer science studyqEngineering IdeanCost Benefit EffectiveqMonitor and ControlMain Contents1.Introduction2.What is software?3.What is SE (Software Engin
31、eering)?4.SE .vs. CS (Computer Science)?5.Contents of SE6.How to learn SE?4. SE .vs. CS ?应用软件编译器数据库管理系统网络系统操作系统硬件Virtual MachineMake real world better with itUsing it betterMake it more powerMake it more easier to UseComputer ScientistSoftware EngineeringWhat is the difference between software engin
32、eering and computer science?Computer ScienceSoftware Engineeringis concerned withComputer science theories are currently insufficient to act as a complete underpinning for software engineering, BUT it is a foundation for practical aspects of software engineering theory fundamentalsthe practicalities
33、 of developingdelivering useful softwareScientist vs EngineernComputer Scientistq Proves theorems about algorithms, designs languages, defines knowledge representation schemesqHas infinite timenSoftware EngineerqDevelops a solution for an application-specific problem for a clientqUses computers & la
34、nguages, tools, techniques and methodsqWorks in multiple application domainsqHas limited time (maybe only 3 months.)qwhile changes occurs in requirements and available technologyAnother comparison:Software Engineering VS System EngineeringnWhat is a system?qSome part of reality that can be observed
35、to interact with its environmentqSeparated from its environment by a boundaryqA system receives inputs from the environment & send outputs to the environmentqSystems have interesting emergent propertiesAnother comparison:Software Engineering VS System EngineeringnInformation Systems qSoftware intens
36、ive systems exist to support Human ActivitynSystem Engineering qDesigning, implementing, deploying and operating information systems which include hardware, software and peoplenSoftware engineeringnHardware engineeringnPeople engineeringMain Contents1.Introduction2.What is software?3.What is SE (Software Engineering)?4.SE .vs. CS (Computer Science)?5.Contents of SE6.How to learn SE?5. Contents of SEnSoftware technologiesqTechnologies to produce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 剖宫产术后饮食禁忌与建议
- 护理课件制作软件下载
- 护理服务中的护理信息化建设
- 剖宫产术后产后恢复运动
- 危重症患者的机械通气管理
- 护理礼仪概述与重要性
- 快手算法工程师面试要点详解
- 基于绿色建筑理念的人才公寓物业服务
- 列车长安全管理制度
- 快消品仓库主管面题与解析
- 2024-2025学年度哈尔滨传媒职业学院单招考试文化素质数学通关题库完美版附答案详解
- 2026年司法协理员考试题及答案
- 2026年宁夏财经职业技术学院单招综合素质考试题库附答案详解(能力提升)
- 2026年四川艺术职业学院单招综合素质考试题库附参考答案详解(满分必刷)
- 套期保值业务管理制度
- 2026年世界水日节约用水主题班会
- 2026山东铁路投资控股集团有限公司招聘80人笔试参考题库及答案解析
- 2025年湖南医药发展投资集团有限公司总部社会招聘2人笔试历年常考点试题专练附带答案详解2套试卷
- 室外广场铺装石材地面施工方案
- 2024年02月苏州工业园区房地产交易管理中心2024年招考4名辅助人员笔试近6年高频考题难、易错点荟萃答案带详解附后
- 北京市部分地区2024届高三语文期初检测试卷汇编:文学类文本阅读()
评论
0/150
提交评论