Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

The phases of sofware development




 

Software development is the process of analyzing the requirements of a system, and then designing, writing, and testing the software. The goals of software development are to

· Produce software that is easy to change and correct when errors are found

· Modify the software to satisfy new requirements.

· Produce parts of programs that will work with parts produced by other software developers.

· Produce software that is reusable.

To accomplish those goals, software developers approach problems using a problem-solving process that contains several useful principles. The first prin­ciple is top-down structured design, which starts with the whole problem and develops more and more detail as the solution evolves. The second principle is a systems life-cycle approach. This proceeds from definition to design, and then from development to implementa­tion, and finally to the eventual retire­ment and replacement of a system. The third principle is to make many of the important and creative decisions occur early in the definition and design stages of the life cycle. The fourth principle consists of a systematic series of actions directed toward a goal.

The process of creating software or programs consists of the following phases:

· Define the problem.

· Plan the solution.

· Implement the solution.

· Test the solution.

· Assemble the documentation.

· Maintain the software.

.Two things must happen in the program design phase: (1) the problem must be understood and defined, and (2) a solu­tion must be engineered. Some of the understanding can be derived from a requirements list. In addition to the requirements, the problem should be studied in an actual situation to understand how people use an application, the data the application processes, the hardware used to imple­ment the application, and any other fac­tors that might affect the performance of the application. These factors should then be compared to the requirements. This process generally produces a com­pleted application that is more naturally organized than if the requirements alone drove the initial design.

The second major step in the software-development process is the engineering of a solution. The top-down strategy— starting with the whole and working to­ward the parts—is a fundamental prin­ciple in all program design and allows the developer to analyze a complex problem by breaking it down into simple functions. After analyzing the requirements, the developer begins the task of actually writing the solution on paper. A devel­oper might produce astructure chart, in which each function (or module) appears as a block and its interaction with every other function is shown. Such tools as flowcharts, prototyping and pseudo code help the developer design the program.

Implementing a solution requires an­swers to several planning and design questions. Does software that will solve the problem already exist? How have others solved similar problems? Are the requirements so unique that new soft­ware must be written from scratch? The answers to these questions involve de­fining (1) the scale of the application; (2) the scope of the application; and (3) the type of data involved in the application.

After the problem has been defined and the solution planned, there is a wide range of development tools from which to choose: programming languages,program generators and interface builders.

If the solution involves the use of a pro­gramming language, a program must be coded. Coding a program means writ­ing that program in a specific program­ming language. This is done with a program editor, which is a special-purpose word processor that allows the programmer to enter, edit, change, add, and delete programming-language state­ments The program coded by the program­mer cannot be directly executed by a computer unless it is coded in machine language. The program written in a pro­gramming language is called a source program, or simply source code. It must be translated into machine language, which is called an object program or object code. The translator program is called a compiler or interpreter. Both compilers and inter­preters perform the functions of (1) checking program instructions for cor­rect spelling and grammar and then (2) translating correct program instructions into a machine language, but they work slightly differently.

An interpreter interactively trans­lates each programming statement into an immediately usable sequence of ma­chine-language instructions. For ex­ample, when you write a program on most personal computers, you type in the program statements and then run the program. An interpreter translates the first statement in the pro­gram and executes it, then translates the second statement and executes it, and so on, until the program is finished.

The goal of testing is to find errors. A major form of testing involves running the program using dif­ferent sample sets of data and simulating the conditions under which the finished program will be run. The testing phase involves working out all the logical er­rors in the program—errors that a com­piler cannot detect. It is best to test all the possible conditions that can occur in a program, both expected and unexpected. When a program is divided into mod­ules, each module can be exhaustively tested, then combined with other mod­ules, and tested together until the final program can be verified. A completed program should not only do what it is supposed to do (i.e., perform its in­tended function), but also it should not do anything that it is not supposed to do.

Documentation falls into two categories: program documentation and user documentation. Program documentation is the written information necessary to support the software. All software has a life cycle in which it must be maintained. Some of the maintenance involves fixing any errors that might have slipped through the testing phases; other main­tenance involves additions or enhance­ments that might have to be incorpo­rated into the program. Program documentation also includes a pseudo ­code listing or a flowchart and formal specification of the inputs, control data, and outputs. For the software user, the documen­tation that matters is the set of user or instruction manuals. These documents should (1) explain how to use the soft­ware and (2) cover everything that can possibly happen while the software is being used.

The last phase in the process is called maintenance. Software needs to be re­vised continuously to remove bugs or errors, improve performance, accom­modate new hardware or software, or add new requirements. Maintenance is usually an expensive process because as the software is modified it usually be­comes larger, more complex, and more error-prone. Also, the documentation that accompanies the software must be modified.

 

1.4 Give English equivalents of the following words and word-combinations.

 

Підхід до життєвого циклу системи, процес вирішення проблеми, від розробки до впровадження, технологія програмування, створення програмного забезпечення, структурна схема, основні принципи, блок-схема, впровадження прикладної програми, задовольняти вимоги, заміна системи, макетування, проектування програми, ефективність прикладної програми, початковий завантажувач, підтримувати життєвий цикл системи, процес створення програми, підтримувати програмне забезпечення, використовувати програмне забезпечення, знаходити помилки, моделювати умови,

 

1.5 Give the definition of the following terms in English.

 

A linker, a loader, a program generator, an interface builder, a source program, an object program.




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 386; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.