Tampilkan postingan dengan label Deskripsi software komputer. Tampilkan semua postingan
Tampilkan postingan dengan label Deskripsi software komputer. Tampilkan semua postingan

Minggu, April 15, 2012

Software Engineering

Software Engineering

Software Engineering
From Wikipedia, the free encyclopedia

Software engineering (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.[1] It is the application of engineering to software because it integrates significant mathematics, computer science and practices whose origins are in engineering.[2] It is also defined as a systematic approach to the analysis, design, assessment, implementation, testing, maintenance and reengineering of software, that is, the application of engineering to software.[3] The term software engineering first appeared in the 1968 NATO Software Engineering Conference, and was meant to provoke thought regarding the perceived "software crisis" at the time.[4][5]

Software development, a much used and more generic term, does not necessarily subsume the engineering paradigm. Although it is questionable what impact it has had on actual software development over the last 40 years,[6][7] the field's future looks bright according to Money Magazine and Salary.com, which rated "software engineer" as the best job in the United States in 2006.[8] Also, in 2012 the Wall Street Journal rated it the best job.


History

When the first modern digital computers appeared in the early 1940s,[10] the instructions to make them operate were wired into the machine. Practitioners quickly realized that this design was not flexible and came up with the "stored program architecture" or von Neumann architecture. Thus the division between "hardware" and "software" began with abstraction being used to deal with the complexity of computing.

Programming languages started to appear in the 1950s and this was also another major step in abstraction. Major languages such as Fortran, ALGOL, and COBOL were released in the late 1950s to deal with scientific, algorithmic, and business problems respectively. E.W. Dijkstra wrote his seminal paper, "Go To Statement Considered Harmful",[11] in 1968 and David Parnas introduced the key concept of modularity and information hiding in 1972[12] to help programmers deal with the ever increasing complexity of software systems. A software system for managing the hardware called an operating system was also introduced, most notably by Unix in 1969. In 1967, the Simula language introduced the object-oriented programming paradigm.

These advances in software were met with more advances in computer hardware. In the mid 1970s, the microcomputer was introduced, making it economical for hobbyists to obtain a computer and write software for it. This in turn led to the now famous Personal Computer (PC) and Microsoft Windows. The Software Development Life Cycle or SDLC was also starting to appear as a consensus for centralized construction of software in the mid 1980s. The late 1970s and early 1980s saw the introduction of several new Simula-inspired object-oriented programming languages, including Smalltalk, Objective-C, and C++.

Open-source software started to appear in the early 90s in the form of Linux and other software introducing the "bazaar" or decentralized style of constructing software.[13] Then the World Wide Web and the popularization of the Internet hit in the mid 90s, changing the engineering of software once again. Distributed systems gained sway as a way to design systems, and the Java programming language was introduced with its own virtual machine as another step in abstraction. Programmers collaborated and wrote the Agile Manifesto, which favored more lightweight processes to create cheaper and more timely software.

The current definition of software engineering is still being debated by practitioners today as they struggle to come up with ways to produce software that is "cheaper, better, faster". Cost reduction has been a primary focus of the IT industry since the 1990s. Total cost of ownership represents the costs of more than just acquisition. It includes things like productivity impediments, upkeep efforts, and resources needed to support infrastructure.

Profession

Legal requirements for the licensing or certification of professional software engineers vary around the world. In the UK, the British Computer Society licenses software engineers and members of the society can also become Chartered Engineers (CEng), while in some areas of Canada, such as Alberta, Ontario,[14] and Quebec, software engineers can hold the Professional Engineer (P.Eng)designation and/or the Information Systems Professional (I.S.P.) designation; however, there is no legal requirement to have these qualifications.

The IEEE Computer Society and the ACM, the two main professional organizations of software engineering, publish guides to the profession of software engineering. The IEEE's Guide to the Software Engineering Body of Knowledge - 2004 Version, or SWEBOK, defines the field and describes the knowledge the IEEE expects a practicing software engineer to have. The IEEE also promulgates a "Software Engineering Code of Ethics".

Employment

In 2004, the U. S. Bureau of Labor Statistics counted 760,840 software engineers holding jobs in the U.S.; in the same time period there were some 1.4 million practitioners employed in the U.S. in all other engineering disciplines combined.[16] Due to its relative newness as a field of study, formal education in software engineering is often taught as part of a computer science curriculum, and many software engineers hold computer science degrees.[17]

Many software engineers work as employees or contractors. Software engineers work with businesses, government agencies (civilian or military), and non-profit organizations. Some software engineers work for themselves as freelancers. Some organizations have specialists to perform each of the tasks in the software development process. Other organizations require software engineers to do many or all of them. In large projects, people may specialize in only one role. In small projects, people may fill several or all roles at the same time. Specializations include: in industry (analysts, architects, developers, testers, technical support, middleware analysts, managers) and in academia (educators, researchers).

Most software engineers and programmers work 40 hours a week, but about 15 percent of software engineers and 11 percent of programmers worked more than 50 hours a week in 2008. Injuries in these occupations are rare. However, like other workers who spend long periods in front of a computer terminal typing at a keyboard, engineers and programmers are susceptible to eyestrain, back discomfort, and hand and wrist problems such as carpal tunnel syndrome.[18]

Certification

The Software Engineering Institute offers certifications on specific topics like Security, Process improvement and Software architecture.[19] Apple, IBM, Microsoft and other companies also sponsor their own certification examinations. Many IT certification programs are oriented toward specific technologies, and managed by the vendors of these technologies.[20] These certification programs are tailored to the institutions that would employ people who use these technologies.

Broader certification of general software engineering skills is available through various professional societies. As of 2006, the IEEE had certified over 575 software professionals as a Certified Software Development Professional (CSDP).[21] In 2008 they added an entry-level certification known as the Certified Software Development Associate (CSDA).[22] The ACM had a professional certification program in the early 1980s,[citation needed] which was discontinued due to lack of interest. The ACM examined the possibility of professional certification of software engineers in the late 1990s, but eventually decided that such certification was inappropriate for the professional industrial practice of software engineering.[23]

In the U.K. the British Computer Society has developed a legally recognized professional certification called Chartered IT Professional (CITP), available to fully qualified Members (MBCS). Software engineers may be eligible for membership of the Institution of Engineering and Technology and so qualify for Chartered Engineer status. In Canada the Canadian Information Processing Society has developed a legally recognized professional certification called Information Systems Professional (ISP).[24] In Ontario, Canada, Software Engineers who graduate from a Canadian Engineering Accreditation Board (CEAB) accredited program, successfully complete PEO's (Professional Engineers Ontario) Professional Practice Examination (PPE) and have at least 48 months of acceptable engineering experience are eligible to be licensed through the Professional Engineers Ontario and can become Professional Engineers P.Eng.[25]

Impact of globalization

The initial impact of outsourcing, and the relatively lower cost of international human resources in developing third world countries led to the dot com bubble burst of the 1990s. This had a negative impact on many aspects of the software engineering profession. For example, some students in the developed world avoid education related to software engineering because of the fear of offshore outsourcing (importing software products or services from other countries) and of being displaced by foreign visa workers.[26] Although statistics do not currently show a threat to software engineering itself; a related career, computer programming does appear to have been affected.[27][28] Nevertheless, the ability to smartly leverage offshore and near-shore resources via the follow-the-sun workflow has improved the overall operational capability of many organizations.[29] When North Americans are leaving work, Asians are just arriving to work. When Asians are leaving work, Europeans are arriving to work. This provides a continuous ability to have human oversight on business-critical processes 24 hours per day, without paying overtime compensation or disrupting key human resource sleep patterns.

Education

A knowledge of programming is a pre-requisite to becoming a software engineer. In 2004 the IEEE Computer Society produced the SWEBOK, which has been published as ISO/IEC Technical Report 19759:2004, describing the body of knowledge that they believe should be mastered by a graduate software engineer with four years of experience.[30] Many software engineers enter the profession by obtaining a university degree or training at a vocational school. One standard international curriculum for undergraduate software engineering degrees was defined by the CCSE, and updated in 2004.[31] A number of universities have Software Engineering degree programs; as of 2010, there were 244 Campus programs, 70 Online programs, 230 Masters-level programs, 41 Doctorate-level programs, and 69 Certificate-level programs in the United States.[32]

In addition to university education, many companies sponsor internships for students wishing to pursue careers in information technology. These internships can introduce the student to interesting real-world tasks that typical software engineers encounter every day. Similar experience can be gained through military service in software engineering.

Comparison with other disciplines

Major differences between software engineering and other engineering disciplines, according to some researchers, result from the costs of fabrication.[33]

Subdisciplines

Software engineering can be divided into ten subdisciplines. They are:[1]

Software requirements: The elicitation, analysis, specification, and validation of requirements for software.
Software design: The process of defining the architecture, components, interfaces, and other characteristics of a system or component. It is also defined as the result of that process.
Software construction: The detailed creation of working, meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging.
Software testing: The dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the expected behavior.
Software maintenance: The totality of activities required to provide cost-effective support to software.
Software configuration management: The identification of the configuration of a system at distinct points in time for the purpose of systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration throughout the system life cycle.
Software engineering management: The application of management activities—planning, coordinating, measuring, monitoring, controlling, and reporting—to ensure that the development and maintenance of software is systematic, disciplined, and quantified.
Software engineering process: The definition, implementation, assessment, measurement, management, change, and improvement of the software life cycle process itself.
Software engineering tools and methods: The computer-based tools that are intended to assist the software life cycle processes, see Computer Aided Software Engineering, and the methods which impose structure on the software engineering activity with the goal of making the activity systematic and ultimately more likely to be successful.
Software quality: The degree to which a set of inherent characteristics fulfills requirements.

Related disciplines

Software engineering is a direct subfield of computer science and has some relations with management science. It is also considered a part of overall systems engineering.

Systems engineering

Systems engineers deal primarily with the overall system requirements and design, including hardware and human issues. They are often concerned with partitioning functionality to hardware, software or human operators. Therefore, the output of the systems engineering process serves as an input to the software engineering process.

Computer software engineers

Computer Software Engineers are usually systems level (software engineering, information systems) computer science or software level computer engineering graduates. This term also includes general computer science graduates with a few years of practical on the job experience involving software engineering.

Sabtu, Maret 31, 2012

Types of Computer Software

We would not be able to use our computer if we don't have appropriate software. Software is basically a collection of programs or a single program that allows you to perform some functions. John Turkey is 1958 was the first person to ever use this term. Types of computer software basically refers to the language or codes that are involved in various operations of a computer system.

Different types of computer software of your choice are available in the market. The three main types of software are programming, system and application software. System software is the most popular and the most used software out of all three. System software also offers you a protective cover for all the other software and it also gives support to some of the hardware parts of the computer like keyboard and printers. The programming software is a must use for programmers. They use the programming software to develop the various programming language to run their computer software. Linkers, editors, interpreters are some good examples of programmer software. Application software is basically used for money making purposes. Application software is basically used in educational, medical and business fields. A good example of an application software is computer games.

Different Types of Computer Software

As a writer I can say that if I didn't had Microsoft Office, my work would definitely be very tough. So I am recommending some different types of software that would be ideal for daily activities of your computer.

Word Processing
A widely used software, word processing is basically used for editing documents such as reports, letters, and big essays. Word processing also provides several features for document editing and formatting. When you enter text in the document, word processing helps you to edit, delete, copy, move this text from one document to another. When you go to formatting, different formats can be applied to make your document look more presentable and attractive. The most popular used word processing software is Word Perfect and nowadays it's Microsoft Word.

Anti Virus
For a long time I used to believe that the companies that make antivirus software are the ones who make all the viruses. This is one thought that can never be defined. No matter who makes these viruses, anti virus programs are one of the highest searched things on the Internet. Most computers nowadays come with their own anti virus which is pre installed in them.

Application Software
We install different types of computer software on our desktops and just forget them. They come in use only for some functions but not with application software. Microsoft Word, Excel or PowerPoint is widely used by many of us and is one of the most popular application software today. For surfing the most popular are Internet Explorer and Mozilla Firefox. For normal emails we rely Microsoft Outlook and for entertainment we use Media Player for watching videos and listening to music tracks. You can also check out the top video editing software which is highly recommended for different types of video editing.

Inventory Management Software
This software helps an organization to keep a track of its various goods and materials. An inventory software helps you to also know the various transactions of your stored goods and even their quantity and quality. This software helps you in achieving proper coordination of your goods which in turn is beneficial for the organization.

Accounting Software
This type of computer software might not be popular with kids but that doesn't mean that they are not useful. Accounting software are one of the highest searched software because they come in very handy for accountants and small business owners to keep a record for their expenses and earnings. They are also used by students who are giving their higher research in mathematics. Nevertheless, these accounting software are in high demand with companies and accountants because they help in making the pay roll and also help in managing corporate tax information.

List of Computer Software for Professional Use

Additional to all the above given examples, there are many more types of computer software which are very useful for people and various commercial enterprises.

* Tax Software
* Video Editing Software
* DVD Burning Software
* Retail Software
* Anti Spyware Software
* Customer Relationship Management Software
* Electronic Media Record Software
* Project Management Tools
* Time Management Software

Minggu, Maret 18, 2012

What is Computer Software?

What most people think of as a computer can actually be divided into two parts. The first part, computer hardware, does all of the physical work computers are known for. The second part, computer software, tells the hardware what to do and how to do it. If you were to think of a computer as a living being, then the hardware would be the body that does things like seeing with eyes, lifting objects, and filling the lungs with air; the software would be the intelligence, interpreting the images that come through the eyes, telling the arms how to lift objects, and forcing the body to fill the lungs with air.

Computer hardware, being part of a machine, can only understand two basic concepts: on and off. The on and off concept is called binary. Computer software was developed in order to make binary into a useful way to tell the computer hardware what to do. Computer software translates concepts and directions that people can understand into something that can actually be done on the computer hardware.

Computer software is most commonly created by computer programmers using a programming language. The programmer writes commands in the programming language that are similar to what someone might use in everyday speech. These commands are called source code. Another computer program called a compiler is then used on the source code, transforming the commands into a language that the computer can understand. The result is an executable computer program, which is another name for software.

Computer software falls into two primary categories: system software and application software. System software represents programs that allow the hardware to run properly. Application software represents programs that allow users to do something besides simply run the hardware. Some experts also include a third category, programming software, though others put those programs into one of the other previously mentioned categories.

A few different types of computer software include:

Computer Games – a form of entertainment software that has many genres. Some of these genres include MMOs (Massive Multiplayer Online games), first-person shooters, action games, roleplaying games, and adventure games.

Driver Software – programs that allow a computer to interact with additional hardware devices such as printers, scanners, and video cards.

Educational Software – programs and games that teach the user or provide drills to help memorize facts. Educational software is diverse, and can teach anything from computer-related activities like typing to higher education subjects like chemistry.

Media Players and Media Development Software – software designed to play and/or edit digital media files such as music and videos.

Productivity Software – an older term that refers to any programs that would allow the user to be more productive in a business sense. Word processors, database management utilities, and presentation software all fall into this category.

Operating Systems - software that coordinates system resources and allows other programs to run. A few examples are Windows Vista, Mac OS X, and Linux.

Kamis, Maret 15, 2012

deskripsi software komputer

deskripsi software komputer

Other names of the Software is software. As with other names, namely software, unlike any of its hardware or hardware, if hardware is a real component that can diliat and be touched by humans, then the software or may not be physically touched and seen, the software does not seem physical and intangible objects but can be operated.

Understanding of computer software is a set of electronic data is stored and managed by computer, electronic data stored by the computer it could be a program or instruction that will execute a command. Through software or software is a computer can execute a command.

Software or computer software based on its distribution can be divided into several kinds of paid software, free software or free (Freeware, free software, shareware, adware).

Paid software is software that is distributed for commercial purposes, any users who wish to use or obtain the software by buying or paying to distribute party. users who use paid software is generally not permitted to distribute the software freely without any publisher's permission. examples of this example is a paid software system microsoft windows, microsoft office, adobe photo shop, and others.

Freeware or free software is copyrighted computer software which is free to use without time limit, is different from shareware that requires users to pay (eg after some trial period or for additional functionality). The developers of free software often makes a free tool freeware "to be donated to the community", but still want to retain their rights as a developer and have control over future development. Freeware is also defined as any program that is distributed free of charge, at no additional cost. A prime example is the suite of browser and mail client and Mozilla News, is also distributed under GPL (Free Software).

Free Software is more directed to the free use but not necessarily free. In fact, his name is because it is free to try open source software (Open Source) and therein lies the essence of freedom: the programs under the GPL, once obtained can be used, copied, modified and distributed freely. So free software free does not lead to the purchase, but the use and distribution. Once out of the license we can find a variety of ways to distribute the software, including freeware, shareware or Adware. This classification affects the way in which the program is marketed, and independent from software licenses to which they belong.

The real difference between Free Software and Freeware. Conflicts arise within the meaning of the word free in English, which means both free and for free. Therefore, and as mentioned earlier, Free Software does not need to be free, just as Freeware not be free.

Shareware is also free but limited to a specific time. Shareware is a limited program is distributed both as a demonstration or an evaluation version with limited features or functions or by using a set time limit (eg 30 days). Thus, giving users the opportunity to test the product before buying and then buy the full version of the program. A very clear example of this type are antivirus software, these companies usually allow the release of the product evaluation applies only to a certain number of days. After passing the maximum, the program will stop working and you need to buy a product if you want to keep using it.

We can also find free software completely, but included in the advertising program, the distribution of this type is called Adware. A clear example is the Messenger program from Microsoft that allows the use of free software in exchange for entry by way of banner ads or pop-ups.

That article explanation of the sense of software or computer software. Hopefully the above review can increase your knowledge and insight in the computer field.

deskripsi software komputer