Главная » Просмотр файлов » Software Engineering Body of Knowledge (v3) (2014)

Software Engineering Body of Knowledge (v3) (2014) (811503), страница 16

Файл №811503 Software Engineering Body of Knowledge (v3) (2014) (Software Engineering Body of Knowledge (v3) (2014).pdf) 16 страницаSoftware Engineering Body of Knowledge (v3) (2014) (811503) страница 162020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 16)

Itis accomplished through making use of standards(see section 1.5, Standards in Construction),modular design (see section 3.1, ConstructionDesign), and numerous other specific techniques(see section 3.3, Coding). It is also supported byconstruction-focused quality techniques (see section 3.7, Construction Quality).1.2. Anticipating Change[1*]Most software will change over time, and theanticipation of change drives many aspects ofsoftware construction; changes in the environments in which software operates also affect software in diverse ways.Anticipating change helps software engineersbuild extensible software, which means they canenhance a software product without disruptingthe underlying structure.Anticipating change is supported by many specific techniques (see section 3.3, Coding).1.3. Constructing for Verification[1*]Constructing for verification means buildingsoftware in such a way that faults can be readily found by the software engineers writing thesoftware as well as by the testers and users duringindependent testing and operational activities.Specific techniques that support constructing forverification include following coding standards tosupport code reviews and unit testing, organizingcode to support automated testing, and restricting the use of complex or hard-to-understand language structures, among others.1.4. Reuse[2*]Reuse refers to using existing assets in solvingdifferent problems.

In software construction, typical assets that are reused include libraries, modules, components, source code, and commercialoff-the-shelf (COTS) assets. Reuse is best practiced systematically, according to a well-defined,repeatable process. Systematic reuse can enablesignificant software productivity, quality, andcost improvements.Reuse has two closely related facets: “construction for reuse” and “construction with reuse.” Theformer means to create reusable software assets,while the latter means to reuse software assets inthe construction of a new solution. Reuse oftentranscends the boundary of projects, which meansreused assets can be constructed in other projectsor organizations.1.5. Standards in Construction[1*]Applying external or internal development standards during construction helps achieve a project’s objectives for efficiency, quality, and cost.Specifically, the choices of allowable programming language subsets and usage standards areimportant aids in achieving higher security.Standards that directly affect constructionissues include•  communication methods (for example, standards for document formats and contents)•  programming languages (for example, language standards for languages like Java andC++)•  coding standards (for example, standards fornaming conventions, layout, and indentation)•  platforms (for example, interface standardsfor operating system calls)3-4  SWEBOK® Guide V3.0•  tools (for example, diagrammatic standardsfor notations like UML (Unified ModelingLanguage)).Use of external standards.

Constructiondepends on the use of external standards for construction languages, construction tools, technicalinterfaces, and interactions between the SoftwareConstruction KA and other KAs. Standards comefrom numerous sources, including hardware andsoftware interface specifications (such as theObject Management Group (OMG)) and international organizations (such as the IEEE or ISO).Use of internal standards. Standards may alsobe created on an organizational basis at the corporate level or for use on specific projects. Thesestandards support coordination of group activities, minimizing complexity, anticipating change,and constructing for verification.2. Managing Construction2.1. Construction in Life Cycle Models[1*]Numerous models have been created to developsoftware; some emphasize construction morethan others.Some models are more linear from the construction point of view—such as the waterfall andstaged-delivery life cycle models.

These modelstreat construction as an activity that occurs onlyafter significant prerequisite work has been completed—including detailed requirements work,extensive design work, and detailed planning.The more linear approaches tend to emphasizethe activities that precede construction (requirements and design) and to create more distinct separations between activities. In these models, themain emphasis of construction may be coding.Other models are more iterative—such asevolutionary prototyping and agile development.

These approaches tend to treat construction as an activity that occurs concurrently withother software development activities (includingrequirements, design, and planning) or that overlaps them. These approaches tend to mix design,coding, and testing activities, and they often treatthe combination of activities as construction (seethe Software Management and Software ProcessKAs).Consequently, what is considered to be “construction” depends to some degree on the lifecycle model used. In general, software construction is mostly coding and debugging, butit also involves construction planning, detaileddesign, unit testing, integration testing, and otheractivities.2.2. Construction Planning[1*]The choice of construction method is a key aspectof the construction-planning activity.

The choiceof construction method affects the extent towhich construction prerequisites are performed,the order in which they are performed, and thedegree to which they should be completed beforeconstruction work begins.The approach to construction affects the project team’s ability to reduce complexity, anticipatechange, and construct for verification. Each ofthese objectives may also be addressed at the process, requirements, and design levels—but theywill be influenced by the choice of constructionmethod.Construction planning also defines the orderin which components are created and integrated,the integration strategy (for example, phased orincremental integration), the software qualitymanagement processes, the allocation of taskassignments to specific software engineers, andother tasks, according to the chosen method.2.3. Construction Measurement[1*]Numerous construction activities and artifacts canbe measured—including code developed, codemodified, code reused, code destroyed, code complexity, code inspection statistics, fault-fix andfault-find rates, effort, and scheduling.

These measurements can be useful for purposes of managingconstruction, ensuring quality during construction,and improving the construction process, amongother uses (see the Software Engineering ProcessKA for more on measurement).Software Construction  3-53. Practical ConsiderationsConstruction is an activity in which the softwareengineer has to deal with sometimes chaotic andchanging real-world constraints, and he or shemust do so precisely.

Due to the influence of realworld constraints, construction is more driven bypractical considerations than some other KAs,and software engineering is perhaps most craftlike in the construction activities.3.1. Construction Design[1*]Some projects allocate considerable design activity to construction, while others allocate designto a phase explicitly focused on design. Regardless of the exact allocation, some detailed designwork will occur at the construction level, and thatdesign work tends to be dictated by constraintsimposed by the real-world problem that is beingaddressed by the software.Just as construction workers building a physical structure must make small-scale modifications to account for unanticipated gaps in thebuilder’s plans, software construction workersmust make modifications on a smaller or largerscale to flesh out details of the software designduring construction.The details of the design activity at the construction level are essentially the same as described inthe Software Design KA, but they are applied ona smaller scale of algorithms, data structures, andinterfaces.3.2. Construction Languages[1*]Construction languages include all forms ofcommunication by which a human can specify anexecutable problem solution to a problem.

Construction languages and their implementations(for example, compilers) can affect softwarequality attributes of performance, reliability, portability, and so forth. They can be serious contributors to security vulnerabilities.The simplest type of construction languageis a configuration language, in which softwareengineers choose from a limited set of predefined options to create new or custom softwareinstallations. The text-based configuration filesused in both the Windows and Unix operatingsystems are examples of this, and the menu-styleselection lists of some program generators constitute another example of a configuration language.Toolkit languages are used to build applications out of elements in toolkits (integrated setsof application-specific reusable parts); they aremore complex than configuration languages.Toolkit languages may be explicitly defined asapplication programming languages, or the applications may simply be implied by a toolkit’s setof interfaces.Scripting languages are commonly used kindsof application programming languages.

Характеристики

Тип файла
PDF-файл
Размер
6,58 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6305
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее