香港六合彩 » SlideShare

925 views
871 views

Published on

的头发浓密不见稀少,身子骨硬朗得很,一双幽黑的眼眸更是不时有神光闪动。

当谢文东到的时候,老爷子正坐在院落中悠闲的喝着茶,见到香港六合彩,似乎一点都不意外,招招手,扬起脸,笑道:过来坐。

老爷子背对着太阳,耀眼的光线在香港六合彩身后绽放,霞光万道,光彩夺目,也晃得谢文东睁不开眼睛。

身不由己的走上前去,恭敬的深施一礼,谢文东轻声说道:老爷子,我来了。

坐吧!金鹏摆摆手,示意。

一种久违的亲切感由心而生,谢文东落座,仔细观察了老爷子一阵,才柔和的笑道:您的身体还是那么健壮。

金鹏笑着摆摆手,说道:香港六合彩老了,最宝贵的东西是什么你知道吗?

谢文东摇头,香港六合彩还没有老,所以香港六合彩不知道。

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
925
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

香港六合彩 » SlideShare

  1. 1. <ul><li>Introduction </li></ul><ul><li>FAQs about Software Engineering </li></ul><ul><li>[Based on Chapter 1 of Sommerville Book, 7e] </li></ul>
  2. 2. Objectives <ul><li>To introduce software engineering and to explain its importance </li></ul><ul><li>To set out the answers to key questions about software engineering </li></ul>
  3. 3. Software Crisis <ul><li>The notion of software engineering was first proposed in 1968 at a conference to discuss what was then called ‘software crisis’. </li></ul><ul><ul><li>Informal software development </li></ul></ul><ul><ul><li>Major projects were sometimes years late </li></ul></ul><ul><ul><li>The software cost much more than predicted, was unreliable, was difficult to maintain and performed poorly </li></ul></ul>
  4. 4. Importance of Software Engineering <ul><li>The economies of ALL developed nations are dependent on software. </li></ul><ul><li>More and more systems are software controlled </li></ul><ul><li>Software costs often dominate computer system costs. The costs of software on a PC are often greater than the hardware cost. </li></ul><ul><li>Software engineering is concerned with theories, methods and tools for professional and cost-effective development of high-quality software. </li></ul>
  5. 5. FAQs about Software Engineering <ul><li>What is software? </li></ul><ul><li>What is software engineering? </li></ul><ul><li>What is the difference between software engineering and computer science? </li></ul><ul><li>What is the difference between software engineering and system engineering? </li></ul><ul><li>What is a software process? </li></ul><ul><li>What is a software process model? </li></ul>
  6. 6. FAQs about Software Engineering <ul><li>What is CASE (Computer-Aided Software Engineering)? </li></ul><ul><li>What are the attributes of good software? </li></ul><ul><li>What are the key challenges facing software engineering? </li></ul>
  7. 7. What is Software? <ul><li>Computer programs and associated documentation such as requirements, design models and user manuals. </li></ul><ul><li>Software products may be developed for a particular customer or may be developed for a general market. </li></ul><ul><li>Software products may be </li></ul><ul><ul><li>Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. </li></ul></ul><ul><ul><li>Bespoke (custom) - developed for a single customer according to their specification. </li></ul></ul>
  8. 8. What is Software Engineering? <ul><li>Software engineering is an engineering discipline that is concerned with all aspects of software production. </li></ul><ul><li>Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available. </li></ul>
  9. 9. What is the Difference between Software Engineering and Computer Science? <ul><li>Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software. </li></ul><ul><li>Computer science theories are still insufficient to act as a complete foundation for software engineering. </li></ul>
  10. 10. What is the Difference between Software Engineering and System Engineering? <ul><li>System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system. </li></ul><ul><li>System engineers are involved in system specification, architectural design, integration and deployment. </li></ul>
  11. 11. What is a Software Process? <ul><li>A set of activities whose goal is the development or evolution of software. </li></ul><ul><li>Generic activities in all software processes are: </li></ul><ul><ul><li>Specification - what the system should do and its development constraints </li></ul></ul><ul><ul><li>Development - production of the software system </li></ul></ul><ul><ul><li>Validation - checking that the software is what the customer wants </li></ul></ul><ul><ul><li>Evolution - changing the software in response to changing demands. </li></ul></ul>
  12. 12. What is a Software Process Model? <ul><li>A simplified representation of a software process, presented from a specific perspective. </li></ul><ul><li>Examples of process perspectives are </li></ul><ul><ul><li>Workflow perspective - sequence of activities; </li></ul></ul><ul><ul><li>Data-flow perspective - information flow; </li></ul></ul><ul><ul><li>Role/action perspective - who does what. </li></ul></ul><ul><li>Generic process models </li></ul><ul><ul><li>Waterfall; </li></ul></ul><ul><ul><li>Iterative development; </li></ul></ul><ul><ul><li>Component-based software engineering. </li></ul></ul>
  13. 13. What is CASE (Computer-Aided Software Engineering)? <ul><li>Software systems that are intended to provide automated support for software process activities. </li></ul><ul><li>CASE systems are often used for method support. </li></ul><ul><li>Upper-CASE </li></ul><ul><ul><li>Tools to support the early process activities of requirements and design; </li></ul></ul><ul><li>Lower-CASE </li></ul><ul><ul><li>Tools to support later activities such as programming, debugging and testing. </li></ul></ul>
  14. 14. What are the Attributes of Good Software? <ul><li>The software should deliver the required functionality and performance to the user and should be maintainable, dependable, efficient and acceptable. </li></ul><ul><li>Maintainability </li></ul><ul><ul><li>Software must evolve to meet changing needs; </li></ul></ul><ul><li>Dependability </li></ul><ul><ul><li>Software must be trustworthy; </li></ul></ul>
  15. 15. What are the Attributes of Good Software? (Cont’d) <ul><li>Efficiency </li></ul><ul><ul><li>Software should not make wasteful use of system resources; </li></ul></ul><ul><li>Acceptability </li></ul><ul><ul><li>Software must accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems. </li></ul></ul>
  16. 16. What are the Key Challenges Facing Software Engineering? <ul><li>Heterogeneity </li></ul><ul><ul><li>Developing techniques for building software that can cope with heterogeneous platforms and execution environments; </li></ul></ul><ul><li>Delivery </li></ul><ul><ul><li>Developing techniques that lead to faster delivery of software; </li></ul></ul><ul><li>Trust </li></ul><ul><ul><li>Developing techniques that demonstrate that software can be trusted by its users. </li></ul></ul>
  17. 17. Key Points <ul><li>Software engineering is an engineering discipline that is concerned with all aspects of software production. </li></ul><ul><li>Software products consist of developed programs and associated documentation. Essential product attributes are maintainability, dependability, efficiency and acceptability. </li></ul><ul><li>The software process consists of activities that are involved in developing software products. Basic activities are software specification, development, validation and evolution. </li></ul><ul><li>CASE tools are software systems which are designed to support routine activities in the software process. </li></ul>

×