Đang chuẩn bị liên kết để tải về tài liệu:
Introduction to Software Engineering
Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Software systems Ubiquitous, used in variety of applications - Business, engineering, scientific applications Simple to complex, internal to public, single function to enterprise-wide, one location to distributed, batch or real time, informational to mission-critical, | Introduction to Software Engineering Outline Nature of software projects Engineering approaches Software Process A process step Characteristics of a good process Waterfall model for development Other models Project planning Software systems Ubiquitous, used in variety of applications - Business, engineering, scientific applications Simple to complex, internal to public, single function to enterprise-wide, one location to distributed, batch or real time, informational to mission-critical, Challenge in large projects Developing large/complex software application is very challenging - Effort intensive - High cost - Long development time - Changing needs for users - High risk of failure, user acceptance, performance, maintainability Quite different from one-time programs where author and user are same! Successful software system Software development projects have not always been successful When do we consider a software application successful? - Development completed - It is useful - It | Introduction to Software Engineering Outline Nature of software projects Engineering approaches Software Process A process step Characteristics of a good process Waterfall model for development Other models Project planning Software systems Ubiquitous, used in variety of applications - Business, engineering, scientific applications Simple to complex, internal to public, single function to enterprise-wide, one location to distributed, batch or real time, informational to mission-critical, Challenge in large projects Developing large/complex software application is very challenging - Effort intensive - High cost - Long development time - Changing needs for users - High risk of failure, user acceptance, performance, maintainability Quite different from one-time programs where author and user are same! Successful software system Software development projects have not always been successful When do we consider a software application successful? - Development completed - It is useful - It is usable, and - It is used Cost-effectiveness, maintainability implied Reasons for failure Schedule Slippage Cost over-runs Does not solve user’s problem Poor quality of software Poor maintainability Reasons for failure Ad hoc software development results in such problems - No planning of development work (e.g. no milestones defined) - Deliverables to user not identified - Poor understanding of user requirements - No control or review - Technical incompetence of developers - Poor understanding of cost and effort by both developer and user Engineering: other disciplines Large projects common and successfully - Building bridges, dams - Power plants - Aircrafts, missiles, “engineering” a solution: - To design, develop (build, fabricate) an artifact that meets specifications efficiently, cost-effectively and ensuring quality - Using scientific principles Engineering Requires well-defined approach: repeatable, predictable Large projects requires managing the project itself - Manage .