Current trends in software engineering

4,474 views

Published on

يناقش هذا السمنار التطورات الحالية لهندسة البرمجيات

Published in: Education
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
4,474
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
89
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Current trends in software engineering

  1. 1. Presented By : Albara Abdalkhalig Mansour Sudan University E-mail : Brra51@hotmail.com Current Trends in Software Engineering
  2. 2. Cloud Computing <ul><li>Cloud Computing It’s a technology that uses the internet and central remote servers to maintain data and applications. </li></ul><ul><li>Cloud computing allows consumers and businesses to use applications without installation and access to their personal files at any computer with internet access. </li></ul><ul><li>Examples: </li></ul><ul><li>Yahoo email or Gmail etc </li></ul>
  3. 3. Cloud Architecture
  4. 4. Cloud Storage <ul><li>The approach, cloud storage allows data stored remotely to be temporarily cached on desktop computers, </li></ul><ul><li>Examples: </li></ul><ul><li>Amazon’s Elastic Compute Cloud (EC2). </li></ul><ul><li>Simple Storage Solution (S3). </li></ul>
  5. 5. Advantages of Cloud Computing <ul><li>Lower computer costs </li></ul><ul><li>Improved performance </li></ul><ul><li>Reduced software costs </li></ul><ul><li>Instant software updates </li></ul><ul><li>Improved document format compatibility </li></ul><ul><li>Unlimited storage capacity </li></ul><ul><li>Increased data reliability </li></ul><ul><li>Universal document access </li></ul><ul><li>Latest version availability </li></ul><ul><li>Easier group collaboration </li></ul><ul><li>Device independence </li></ul>
  6. 6. Disadvantages of Cloud Computing <ul><li>Requires a constant Internet connection. </li></ul><ul><li>Does not work well with low-speed connections. </li></ul><ul><li>Can be slow. </li></ul><ul><li>Features might be limited. </li></ul><ul><li>Stored data might not be secure. </li></ul><ul><li>Stored data can be lost. </li></ul>
  7. 7. Types of Cloud Computing Services:
  8. 8. Software as a Service (SaaS) <ul><li>SaaS is a model of software deployment where an application is hosted as a service provided to customers across the Internet. SaaS is generally used to refer to business software rather than consumer software. </li></ul>
  9. 9. Advantages <ul><li>Accessible from anywhere with an internet connection. </li></ul><ul><li>No local server installation. </li></ul><ul><li>Pay per use or subscription based payment methods. </li></ul><ul><li>Rapid scalability. </li></ul><ul><li>System maintenance (backup, updates, security, etc) often included in service. </li></ul><ul><li>Possible security improvements, although users with high security requirements (e.g., large corporations) may find SaaS a security concern. </li></ul><ul><li>Reliability. </li></ul>
  10. 10. Virtualization <ul><li>Virtualization, in computing, is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources. </li></ul><ul><li>Virtualization can be viewed as part of an overall trend in enterprise IT that includes autonomic computing, a scenario in which the IT environment will be able to manage itself based on perceived activity, and utility computing, in which computer processing power is seen as a utility that clients can pay for only as needed. The usual goal of virtualization is to centralize administrative tasks while improving scalability and work loads. </li></ul>
  11. 11. Type of Virtualization <ul><li>Hardware-assisted. </li></ul><ul><li>Software. </li></ul><ul><li>Memory. </li></ul><ul><li>Storage. </li></ul><ul><li>Data. </li></ul><ul><li>Network. </li></ul>
  12. 12. Advantages of virtual machines <ul><ul><li>Run operating systems where the physical hardware is unavailable, </li></ul></ul><ul><ul><li>Easier to create new machines, backup machines, etc., </li></ul></ul><ul><ul><li>Software testing using “clean” installs of operating systems and software, </li></ul></ul><ul><ul><li>Emulate more machines than are physically available, </li></ul></ul><ul><ul><li>Timeshare lightly loaded systems on one host, </li></ul></ul><ul><ul><li>Debug problems (suspend and resume the problem machine), </li></ul></ul><ul><ul><li>Easy migration of virtual machines (shutdown needed or not). </li></ul></ul><ul><ul><li>Run legacy systems! </li></ul></ul>
  13. 13. Applying Virtualization to Software Engineering <ul><li>Software virtualization techniques can be used in nearly all stages of the software life cycle (regardless of type of development methodology used) to both improve software quality and accelerate the software lifecycle, therefore increasing efficiency and, presumably, profit. </li></ul>
  14. 14. Service-oriented architecture (SOA) <ul><li>Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple separate systems from several business domains. </li></ul><ul><li>OASIS defines SOA as the following: </li></ul><ul><li>A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations. </li></ul>
  15. 15. The Future <ul><li>Many of the activities loosely grouped together under cloud computing have already been happening and centralised computing activity is not a new phenomena: </li></ul><ul><li>Grid Computing was the last research-led centralised approach. </li></ul><ul><li>However there are concerns that the mainstream adoption of cloud computing could cause many problems for users. </li></ul><ul><li>Whether these worries are grounded or not has yet to be seen. </li></ul><ul><li>Many new open source systems appearing that you can install and run on your local cluster – should be able to run a variety of applications on these systems. </li></ul>

×