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

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

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

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

While architectural styles can be viewed aspatterns describing the high-level organizationof software, other design patterns can be usedto describe details at a lower level. These lowerlevel design patterns include the following:•  Creational patterns (for example, builder,factory, prototype, singleton)•  Structural patterns (for example, adapter,bridge, composite, decorator, façade, flyweight, proxy)•  Behavioral patterns (for example, command,interpreter, iterator, mediator, memento,observer, state, strategy, template, visitor).3.4. Architecture Design Decisions[5*, c6]Architectural design is a creative process. During the design process, software designers haveto make a number of fundamental decisions thatprofoundly affect the software and the development process. It is useful to think of the architectural design process from a decision-makingperspective rather than from an activity perspective.

Often, the impact on quality attributes andtradeoffs among competing quality attributes arethe basis for design decisions.3.5. Families of Programs and Frameworks[5*, c6, c7, c16]One approach to providing for reuse of softwaredesigns and components is to design families ofprograms, also known as software product lines.This can be done by identifying the commonalitiesamong members of such families and by designingreusable and customizable components to accountfor the variability among family members.In object-oriented (OO) programming, a keyrelated notion is that of a framework: a partiallycompleted software system that can be extendedby appropriately instantiating specific extensions(such as plug-ins).4. User Interface DesignUser interface design is an essential part of thesoftware design process.

User interface designshould ensure that interaction between the humanand the machine provides for effective operation2-6  SWEBOK® Guide V3.0and control of the machine. For software toachieve its full potential, the user interface shouldbe designed to match the skills, experience, andexpectations of its anticipated users.4.1. General User Interface Design Principles[5*, c29-web] [17*, c2]1•  Learnability. The software should be easy tolearn so that the user can rapidly start working with the software.•  User familiarity. The interface should useterms and concepts drawn from the experiences of the people who will use the software.•  Consistency.

The interface should be consistent so that comparable operations are activated in the same way.•  Minimal surprise. The behavior of softwareshould not surprise users.•  Recoverability. The interface should providemechanisms allowing users to recover fromerrors.•  User guidance. The interface should givemeaningful feedback when errors occur andprovide context-related help to users.•  User diversity. The interface should provide appropriate interaction mechanismsfor diverse types of users and for users withdifferent capabilities (blind, poor eyesight,deaf, colorblind, etc.).4.2. User Interface Design Issues[5*, c29-web] [17*, c2]User interface design should solve two key issues:•  How should the user interact with thesoftware?•  How should information from the softwarebe presented to the user?User interface design must integrate userinteraction and information presentation.

Userinterface design should consider a compromisebetween the most appropriate styles of interaction1  Chapter 29 is a web-based chapter availableat http://ifs.host.cs.st-andrews.ac.uk/Books/SE9/WebChapters/.and presentation for the software, the backgroundand experience of the software users, and theavailable devices.4.3. The Design of User Interaction Modalities[5*, c29-web] [17*, c2]User interaction involves issuing commands andproviding associated data to the software. Userinteraction styles can be classified into the following primary styles:•  Question-answer.

The interaction is essentially restricted to a single question-answerexchange between the user and the software.The user issues a question to the software,and the software returns the answer to thequestion.•  Direct manipulation. Users interact withobjects on the computer screen. Directmanipulation often includes a pointingdevice (such as a mouse, trackball, or a finger on touch screens) that manipulates anobject and invokes actions that specify whatis to be done with that object.•  Menu selection. The user selects a commandfrom a menu list of commands.•  Form fill-in. The user fills in the fields of aform.

Sometimes fields include menus, inwhich case the form has action buttons forthe user to initiate action.•  Command language. The user issues a command and provides related parameters todirect the software what to do.•  Natural language. The user issues a command in natural language. That is, the naturallanguage is a front end to a command language and is parsed and translated into software commands.4.4. The Design of Information Presentation[5*, c29-web] [17*, c2]Information presentation may be textual or graphical in nature. A good design keeps the informationpresentation separate from the information itself.The MVC (Model-View-Controller) approach isan effective way to keep information presentationseparating from the information being presented.Software Design  2-7Software engineers also consider softwareresponse time and feedback in the design of information presentation.

Response time is generallymeasured from the point at which a user executesa certain control action until the software respondswith a response. An indication of progress is desirable while the software is preparing the response.Feedback can be provided by restating the user’sinput while processing is being completed.Abstract visualizations can be used when largeamounts of information are to be presented.According to the style of information presentation, designers can also use color to enhance theinterface. There are several important guidelines:•  Limit the number of colors used.•  Use color change to show the change of software status.•  Use color-coding to support the user’s task.•  Use color-coding in a thoughtful and consistent way.•  Use colors to facilitate access for peoplewith color blindness or color deficiency(e.g., use the change of color saturation andcolor brightness, try to avoid blue and redcombinations).•  Don’t depend on color alone to conveyimportant information to users with differentcapabilities (blindness, poor eyesight, colorblindness, etc.).4.5. User Interface Design Process[5*, c29-web] [17*, c2]User interface design is an iterative process;interface prototypes are often used to determinethe features, organization, and look of the software user interface.

This process includes threecore activities:•  User analysis. In this phase, the designer analyzes the users’ tasks, the working environment, other software, and how users interactwith other people.•  Software prototyping. Developing prototypesoftware help users to guide the evolution ofthe interface.•  Interface evaluation. Designers can observeusers’ experiences with the evolving interface.4.6. Localization and Internationalization[17*, c8, c9]User interface design often needs to consider internationalization and localization, which are meansof adapting software to the different languages,regional differences, and the technical requirements of a target market.

Internationalization is theprocess of designing a software application so thatit can be adapted to various languages and regionswithout major engineering changes. Localizationis the process of adapting internationalized software for a specific region or language by addinglocale-specific components and translating thetext.

Localization and internationalization shouldconsider factors such as symbols, numbers, currency, time, and measurement units.4.7. Metaphors and Conceptual Models[17*, c5]User interface designers can use metaphors andconceptual models to set up mappings between thesoftware and some reference system known to theusers in the real world, which can help the users tomore readily learn and use the interface. For example, the operation “delete file” can be made into ametaphor using the icon of a trash can.When designing a user interface, software engineers should be careful to not use more than onemetaphor for each concept. Metaphors also present potential problems with respect to internationalization, since not all metaphors are meaningfulor are applied in the same way within all cultures.5. Software Design Quality Analysis andEvaluationThis section includes a number of quality analysis and evaluation topics that are specificallyrelated to software design.

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

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

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

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