资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Software Engineering Review,2021 Autumn,1,Why Software Engineering?,What is software engineering?,Solving problems,Where does the software engineer fit in?,How successful have we have?,What is good software?,The quality of the product,The quality of the process,CMM,ISO 9000,SPICE,Quality in the context of the business environment,ROI(return on investment),2,Why Software Engineering?,Who does software engineering?,Customer,user,and developer,A system approach,What is a system?,The elements of a system,Relationships and the system boundary,An engineering approach,Building a system,Members of the development team,The roles of the development team,3,Modeling the Process and Life Cycle,The meaning of process,What is a process,a life cycle,and a software life cycle?,Understanding the concept of a process,Software process models,The reasons to model the process,Several typical software process models description,the model,advantages and disadvantages,examples,Waterfall model,V model,Prototyping model,Phased development:increments and iterations,Spiral model,Agile methods,4,Planning and Managing the Project,Tracking progress,What is a project schedule,an activity,and a milestone,Work breakdown and activity graphs,4 parameters to describe an activity:precursor,duration,due date,and endpoint,Activity graph,Estimating completion,CPM(Critical Path Method),(*),Slack time for an activity,Tools to track progress,Gantt chart,5,Planning and Managing the Project,Project personnel,Staff roles and characteristics,Work styles,Project organization,Depend on three factors,Chief programmer team,Egoless approach,Effort estimation,Can not produce accurate estimates,Risk management activities,What is a risk?,Steps in risk management,Hoe to reduce risk?,The project plan,6,Capturing the Requirements,The requirements process,What is a requirement?,Requirements elicitation,Who are stakeholders?,The means of eliciting requirements,Types of requirement,Functional requirements,Quality requirements/nonfunctional requirements,Design constraint,Process constraint -the above are 4 types of requirements,Resolving conflicts priority,Two kinds of requirements documents,Requirements definition,Requirements specification,7,Capturing the Requirements,Characteristics of requirements,Correct,Consistent,Unambiguous,Complete,Feasible,Relevant,Testable,traceable,8,Capturing the Requirements,Modeling notations,Entity-relationship diagrams,Definition,Three elements,Properties/application,UML class diagrams,Event traces,Definition,Properties/application,UML sequence diagrams,State machines,Definition,Two elements,Properties/application,UML statechart diagrams,9,Capturing the Requirements,Modeling notations,Data-flow diagrams(DFD),Definition,Four elements,Properties/application,UML use case diagrams,Functions and relations,Decision table,(*),How to build a decision table?,10,Capturing the Requirements,Prototyping requirements,Rapid prototyping,Throwaway prototyping,Evolutionary prototyping,Prototyping vs.modeling,Requirements documentation,Requirements definition,Requirements specification,11,Designing the System,What is a design?,Conceptual design/system design,Technical design,Decomposition and modularity,High level lower level,Modular decomposition,Data-oriented decomposition,Event-oriented decomposition,Outside-in design,Object-oriented design,Modules/components,12,Designing the System,Architectural styles and strategies,Three design levels:architecture,code design,and executable design,Architectural styles description,properties,and examples,Pipes and filters,Object-oriented design,Layering,Repositories,Interpreters,C/S,B/S,Issues in design creation,Modularity and levels of abstraction,Collaborative design,Concurrency,13,Designing the System,Characteristics of good design,Component independence,Why component independence?,Coupling uncoupled,data coupling,stamp coupling,control coupling,common coupling,and content coupling,Cohesion coincidental,logical,temporal,procedural,communicational,sequential,functional,Exception identification and handling,Typical exceptions,Handling strategies,Fault prevention and fault tolerance,14,Testing the Programs,Software faults and failures,Types of faults,Testing issues,Test opinions,Test organization -testing steps,Module testing,component testing,or unit testing,Integration testing,System testing function test,performance test,acceptance test,and installation test,Testing techniques,Black box,White box,15,Testing the Programs,Unit testing,Examining the code,Code walkthroughs,Code inspections,Success of the code reviews,Test thoroughness,Logic flow,(*),Integration testing,Bottom-up integration,Top-down integration,Big-bang integration,Sandwich integration,Comparison of the strategies,16,Testing the System,Principles of system testing,Sources of software faults,System testing process,Configuration management,Versions and releases,Regression testing,Deltas,separate files,and c
展开阅读全文