Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Software Design

Читайте также:
  1. Agile software development
  2. Application Software Architecture
  3. Architecture and design
  4. Design Concepts
  5. Design Considerations
  6. Design Constraints
  7. Domain-driven design

Topic 2. Software Design

Exercise 1. Memorize the following words and word combinations.

Define – визначати, описувати

employ – наймати на роботу, працевлаштовувати

platform-independent – незалежний від платформи

platform-specific = platform-dependent – залежний від платформи

availability – наявність, придатність

call for – вимагати, потребувати

precisely – точно, визначено

enable = allow – давати можливість, дозволяти

blueprint – (детальний) план, проект

fulfill - виконувати, відповідати (вимогам)

examine - досліджувати, аналізувати, розглядати, перевіряти

evaluate - оцінювати

trade-off – компроміс, вибір оптимального рішення, альтернатива

subsequent - наступний

sufficiently – достатньо, повністю, достатньою мірою

allow for - враховувати

 

Exercise 2. Read and translate the text.

Software Design

Software design is the process of defining the architecture, components, interfaces, and other characteristics of a system or component and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution.

Software design may be platform-independent or platform-specific, depending on the availability of the technology called for by the design.

Viewed as a process, software design is the software engineering life cycle activity in which software requirements are analyzed in order to produce a description of the software’s internal structure that will serve as the basis for its construction. More precisely, software design (the result) must describe the software architecture and the interfaces between those components. It must also describe the components at a level of detail that enable their construction.

Software design plays an important role in developing software: it allows software engineers to produce various models that form a kind of blueprint of the solution to be implemented. We can analyze and evaluate these models to determine whether or not they will allow us to fulfill the various requirements. We can also examine and evaluate various alternative solutions and trade-offs. Finally, we can use the resulting models to plan the subsequent development activities, in addition to using them as input and the starting point of construction and testing.

In a standard listing of software life cycle processes software design consists of two activities that fit between software requirements analysis and software construction:

· Software architectural design (sometimes called top-level design): describing software’s top-level structure, organization and identifying various components.

· Software detailed design: describing each component sufficiently to allow for its construction.

 

Exercise 3. Answer the following questions.

1. What is software design?

2. What may software design be depending on the availability of the technology called for by the design?

3. What kind of activity is software design?

4. What must software design describe?

5. What is the role of software design in developing software?

6. What can software models be used for?

7. What activities does software design consist of in a standard listing of software life cycle processes?

8. What is the difference between these activities?

9. Can you explain the difference between software design and software construction/ programming?

Exercise 4. Give Ukrainian equivalents to the following word combinations.

Software design, software solution, to determine the purpose and specifications of software, software developers, to employ designers, platform-independent or platform-specific, availability of the technology called for by the design, software engineering life cycle activity, software requirements, to produce a description of the software’s internal structure, more precisely, to enable construction, software developing, a blueprint of the solution to be implemented, to evaluate the models, to fulfill the various requirements, to examine and evaluate various alternative solutions and trade-offs, to plan the subsequent development activities, in addition to, a standard listing of software life cycle processes, to consists of two activities, to fit between software requirements analysis and software construction, software architectural design, identifying various components, to describe each component sufficiently.

 

Exercise 5. Give English equivalents to the following word combinations.

 

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

 

Exercise 6. Translate the following sentences into English.

1. Проектування програмного забезпечення – це процес визначення архітектури, компонентів, інтерфейсів і інших властивостей системи чи компонентів та планування програмного рішення.

2. Після того, як мета та специфікації програмного забезпечення визначені, розробники програмного забезпечення будуть розробляти план рішення.

3. Проектування програмного забезпечення може бути незалежним чи залежним від платформи, що зумовлено наявністю технології, необхідної для проектування.

4. Проектування програмного забезпечення – це процес розробки (інженерії) програмного забезпечення, в якому аналізують вимоги до програмного забезпечення, для того, щоб описати його внутрішню структуру, яка служитиме основою для конструювання.

5. Проектування програмного забезпечення повинне описувати архітектуру програмного забезпечення та інтерфейси між його компонентами.

6. Проектування програмного забезпечення дозволяє інженерам програмного забезпечення створювати різні моделі плану реалізації рішення.

7. Ми можемо проаналізувати та оцінити ці моделі та різні альтернативні рішення.

8. Нарешті ми можемо використати кінцеві моделі, щоб спланувати наступні етапи розробки, а також, щоб розпочати конструювання та тестування.

9. У стандартному переліку процесів життєвого циклу програмного забезпечення розробка програмного забезпечення розпочинається з вимог до нього та закінчується конструюванням.

10. Проектування архітектури програмного забезпечення включає опис структури програмного забезпечення високого рівня, організацію та визначення різних компонентів.

11. Детальне проектування програмного забезпечення характеризує кожен компонент достатньою мірою, щоб врахувати його конструювання.

 

Exercise 7. Memorize the following words and word combinations.

 

Concept – принцип, концепція, поняття

sophisticated – складний, сучасний, передовий, удосконалений

apply – застосовувати, вживати

evolve - розвивати(ся)

abstraction – абстракція

generalization – узагальнення

observable – спостережний

retain - утримувати, зберігати

relevant - що стосується справи, доречний

refinement - удосконалення, підвищення якості

elaboration – детальна розробка, уточнення

stepwise - поступово, поетапно

complementary - додатковий, що доповнює один одного

yield - давати результат, приводити (до чогось)

performance - (робоча) характеристика, ефективність, виконання, продуктивність, робота

schedule - графік, регламент, планування

control hierarchy - ієрархія керування (контролю)

imply - мати на увазі, містити в собі, значити

partitioning - розділ, декомпозиція

information hiding - приховування інформації

specify - точно визначати, встановлювати

 

Exercise 8. Read and translate the following text.


Дата добавления: 2015-08-27; просмотров: 82 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Android| Design Concepts

mybiblioteka.su - 2015-2024 год. (0.009 сек.)