彼得網語

運用色彩

IMG_0651

色彩是第一視覺語言,具有影響心理及喚起感情的作用。在設計及美術上,色彩的運用固然重要,而善用色彩對日常生活及工作上都有很大的幫助。認識運用色彩是一個重要的課題,所謂「要活得精彩,就要充滿顏色」。

色彩的作用

在懂得運用色彩之前,先要了解色彩對我們的作用。簡單說明,色彩有以下幾點的作用。

  1. 色彩明顯影響人類的情緒,而且影響大至上是相同的,但也會因為文化背景不同存異,所以不同的色彩可以表現不同的情感。
  2. 協助傳達事物或事件的含義,例如交通燈上的紅色是停止的意思,綠色表示通行,而黃色表示準備。
  3. 真實事物是充滿色彩的,因此彩色的畫面更具有真實感,在圖像上表達事物及事件,色彩更是不能欠缺。例如黑白電影及彩色電影。
  4. 增強對某人、事物或事件的記憶。
  5. 增強畫面的吸引力及感染力。色彩豐富的影像更能刺激視覺神經。

基本色彩意義

白: 白色是光線的色彩,是色彩裡的極色,可以襯托其他色彩,配出明快的清澈的感覺,配搭時可避免使用太多的極端色彩,以保留白色的高尚感覺。 意義:潔淨、純真、簡單樸素、神聖、清爽明快、柔弱。

: 黑暗的色彩,也有負面的感覺,由於被認為包括所有色彩的顏色,可與許多色彩構成良好的對比調和關係,運用範圍很廣。意義: 力量、嚴肅、崇高、剛健、堅實、冷酷、沉默。

: 紅色是最為人注目的色彩,有強烈的感染力,具備能量及有生命力的意識,也代表警覺及危險。由於紅色有強烈的刺激性,常用作主色和重要的調和色,是使用得最多的色彩。意義: 熱情、喜慶、幸福、活潑、熱鬧、革命、溫暖、幸福、吉祥、危險。

: 橙色是最溫暖的色彩,是有力量含生命力的色彩,使人有充滿喜悅感覺的色彩。意義: 華麗、光明、勇敢、興奮、健康、甜蜜、快樂。

: 黃色是明亮光線的色彩,具智慧、判斷、希望、幽默及樂觀的感覺。意義: 明朗、愉快、高貴、希望、發展、注意、華麗、熱烈喜慶。

:綠色是植物的色彩,有平衡、協調、自然的感覺。意義: 新鮮、平靜、安逸、和平、柔和、青春、安全、理想、創新。

: 藍色是天空的色彩,是和平、安靜、溝通、理智及沈靜的意思。意義: 深遠、永恆、沉靜、理智、誠實、寒冷。

:紫色具有優美、高貴、尊嚴的感覺,具備精神性的色彩,也有孤獨、神秘等意思。意義: 優雅、高貴、魅力、自傲、輕率。

而色彩運用除了上述的基本的色彩,亦可透過不同的混合,調出許多不同的色彩,其意義及給予人們的感覺亦可能有所變化。另一方面透過不同的顏色配搭及對比調和,亦可形成不同感覺。

 

色彩的創造

色彩可利用混色的方法創造出來,最常見的有「色光三原色」(RGB)及「色料三原色」(CMY)兩種。

「色光三原色」中的三原色是「紅(R=Red)」、「綠(G=Green)」及「藍(B=Blue)」,這三種光線以強弱的混合產生不同的色彩,而色光每進行一次混合,明度就會增加,因此也稱為「加法混合」,而三種光線的混合也就是白色了。

「色料三原色」是「天藍(C=Cyan)」、「紫紅(M=Magenta)「黃(Y=Yellow)」,這三種色彩混合是黑色,也是說混合越多,明度會越低,稱為「減法混合」,常用於彩色印刷上,而在印刷上還加入黑色(K=Black)。

 

色彩要素

我們生活的世界是充滿色彩的,色彩雖然是千變萬化,但任何色彩都有色相、明度、彩度三個基本性質,稱為色彩的三要素。再加上色彩與色彩之間可發生的相互作用,做成不同的效果,就是色彩還有相互間形成的色調,及顯現出自己的特性,即色性,所以總括來說色彩有五個要素分別是色相、明度、純度、色調及色性。

 

色彩要素

色相(hue)是色彩的相貌,是用來區別色彩種類的,可用紅藍綠的講法(三原色),由於色彩是連續變化的,因此基本上色相是無限的。

(lightness)是指色彩的明亮度,明度越高色彩愈白,有愈輕快的感覺,明度在無彩色中,白色擁有最高明度,黑色是最低,從高明度的灰色到低明度的灰色所做成的明度階層,稱為「灰階」,所謂對比的高低,一般就是由明度所產生的。明度差別即指同色的深淺變化,又指不同色相之間存在的明度差別。

彩度(saturation)是色彩的純淨程度又稱純度或飽和度,彩度亦用高低來表達程度,純色是沒有加入白色或黑色的原色,而在純色中加入無彩色(白、黑、灰)就可以改變彩度。例如在紅色中加入白色,彩度就下降成為粉紅色。光譜中紅、橙、黃、綠、藍、紫等色光都是高彩度的光,而色料中的紅色是最高彩度的,而橙黃紫等是彩度高的色相,藍綠色則彩度較低的色相!

色調(tone)是表現色彩中明度及彩度調合配搭狀況,可以分為淡、灰、暗、明亮、柔和、濃、鮮艷。

性:是指色彩的特性,包括色彩附帶的感情,是客觀的情感效果或心理反應,色彩特性中有冷暖感覺、輕重、軟硬、明快憂鬱、興奮沉靜、華麗樸素、可知覺度等。

 

色彩性質

1. 冷暖: 不同的色彩給予人們不同冷暖感覺,當中紅、橙、黃的色調帶有暖感,而藍、青的色調帶有冷感。另外,低明度的色彩表現暖感,高明度的色表現冷感。高純度的色具有暖感,低純度的色具有冷感。

2. 輕重: 不同的色彩給予人們不同輕重感覺,簡單的說色彩的輕重感主要由明度決定,高明度的色彩帶來輕感,低明度則是重感。因此可以知道白色是最輕的顏色,黑色最重的顏色。輕的色彩可讓人有輕快的感覺,而重的色彩則較為緊張。

3. 軟硬: 不同的色彩給予人們不同軟硬感覺,軟硬感與明度及純度都有關。如果明度較高而含灰色度就具有軟感,明度較低的而含灰色度就具有硬感。而在顏色配搭上,強對比色調存有硬感,弱對比色調存有軟感。

4.明快憂鬱:有些色彩帶來明快感覺,有些則給予人們憂鬱感覺,同樣地明快或憂鬱感與明度純度都有關係。如果明亮而鮮豔的色彩是明快感的色彩,而深暗加上渾濁的色彩是具有憂鬱感的色彩。顏色配搭上,強對比色調是明快感的,弱對比色調是憂鬱感的。

5.興奮沉靜感:有些色彩具有刺激感官的作用,使人有興奮感,引起注意。色彩的興奮沉靜感覺,與色相、明度、純度這三方面都有關,當中以純度的影響為最大。

  • —色相方面,紅、橙色具有興奮感,藍青色具有沉靜感。
  • —在明度方面,明度高的色具有興奮感,明度低的色具有沉靜感。
  • —在純度方面,純度高的色具有興奮感,純度低的色具有沉靜感。
  • —強對比色調具有興奮感,弱對比色調具有沉靜感。
  • —色相種類多顯得活潑熱鬧,少則令人有寂寞感。

6.華麗樸素:色彩的華麗樸素感與純度關係最大,其次與明度也有關。鮮豔而明亮的色給予華麗感,而如果是渾濁而深暗的色彩則是樸素感。另外有色彩的表示華麗,無色彩的表示樸素。顏色配搭上強對比色調帶有華麗感,弱對比色調帶有樸素感。

7.易見度:色彩有助清楚傳遞信息,而不同的色彩及色彩配搭有著不同程度的刺激。色彩的知覺度,可稱為易見度,是人對指色彩感覺的強弱程度,基本上知覺程度是色彩三種元素(色相、明度和彩度)對比的綜合反應。例如紅色的警告牌,及用黃、黑配色的廣告牌就是清楚易辯的(高易見度的例子)。

 

色彩對比與調和

兩種或以上的色彩,透過空間或時間,可進行色彩間的關係比較,產生對比後果,就是色彩對比。同樣地,兩種或以上的色彩的合理搭配,所產生的和諧或統一效果,就稱為色彩調和。色彩對比與調和,也可以運用明度、彩度或色性來進行,例如紅藍是冷暖的對比,黑白是明度的對比。

另外也有所謂的補色對比, 是採用具有補色(色相的相對位置)關係的色彩所產生的對此後果,例如紅與綠、黃與紫、藍與橙等。對於色彩的調和,是指相同/近似色相,不同明度和純度的色彩調和。

一般可採用漸變方法,在明度、純度上加上變化形成對比,加強多樣性。另外可以利用類似色,如紅與橙、藍與紫等作為調和的方法。

透過電腦程式運用色彩是值得學習的一種技巧,一些色彩配置樣板也非常實用,我們下次再談。

彼得

Software Architecture

Introduction

If you work in IT industry, you must heard somethings about software architecture. Moreover, software architecture are playing a more and more important role in the industry.   In order to have a success in software development, we need to have a good software architecture. Software architecture captures early decisions about the high-level design, and allows reuse of design components between projects. However, the software architecture is not an easy concept. There are many things to learn to become an architect, the body of knowledge about software architecture is huge enough to fill hundreds of books. Let us have some basic ideas on software architecture here.

In short, Software architecture describes the structures of a computer system. A software architecture consist of software elements with their system modules or software components. The external visible properties typically represent services provided to other elements. The relationships of element usually describe how elements interact with others.

As an architect, you need to balance the different stakeholder benefit in order to have a “good" software architecture, remember that you cannot 100% fulfil of each stakeholder as resources is always limited and there are conflicts among the requirements.

 Need for Architecture

Why architecture is needed in modern software? Three crucial changes in software engineering have led to us to aware the importance of architecture, they are Scale, Distribution and Security. During the past decade, the scale of IT systems extend much, there are many large system with hundreds of server and thousands of process running in the computer system. Moreover, the capability of scale up are now natural requirement of the computer system. On the other hand, the computer system is migration from mainframe to highly distributed system known as cloud.  Finally, we have enhanced many security features in the computer system as the security nowadays is a major quality of a system.

The Goal of Architecture

With the three crucial changes of computer system, software architecture aim to resolve the issues of scalability, distribution and security. Furthermore, the software architecture also help to reduce project risks and capture quality-related decisions. On the other hand, software architecture can facilitate the design, implementation and deployment of the application. Software architecture focuses on quality-related requirements, instead of functionalities. The goals of software architecture often include the bridge of the abstract  business ideas to a concrete computer system. Followings are common goal of software architecture:

  • Improve quality of services(QoS) of the system such as scalability, portability and maintainability.
  • Building a effective secure environment.
  • Respond various changes
  • Handling the complexity in a effective manner
  • Utilize existing investment
  • Perform better risk management
  • Better communication

Standards

Early in 1960’s we have used the term “software architecture, but it became prevalent  only in the begining of 1990’s. The first formal standard – IEEE 1471-2000 , Recommended Practice for Architecture Description of Software-Intensive Systems give people the formal definitions about software architecture area.  In 2007, ISO adopted IEEE 1471-2000 ISO as ISO/IEC 42010:2007. While in 2011, IEEE 1471-2000 was superseded by ISO/IEC/IEEE 42010:2011, Systems and software engineering — Architecture description .

Architecture View

If a software system capture real world requirement, its software architecture has to be more or less complex. A single view is not sufficient to address requirements, so software architecture is commonly organized in views (multiple perspectives) especially in Large software systems. Architects  describe the general information on view in software architecture, views are instances of viewpoints, examples of viewpoints are as followings:

  • Use case view
  • Data View
  • Functional view
  • logical view
  • Implementation view
  • Development view
  • Deployment view

Some architecture frameworks or approaches gives a reference of different viewpoints collection of the system or enterprise IT, expamles are as followings

  •  4+1 (UP)
  • DODAF
  • MODAF
  • TOGAF
  • Zachman framework
  • Federal Enterprise Architecture
  • RM-ODP

Software architectural principles

Many architecture principles have been presented in the context of Software Engineering and Object-Oriented Technologies. In software architecture perspective, it focus on the architectural meaning of those principles, It also concern the inter-dependencies among the components. However only with principles are not sufficient for building a good architectures because they provide only general guidelines. Architectural styles and architecural patterns are also important.

Architecture Styles and Architectural pattern

An Architecture style in software system is a collection of principles that can be used for system building, it usually has their focus such as data integration, networking, distributed system and etc.  The Implementation of an architecture style require the software and hardware design and implementation. In maby cases, multiple Architecture styles may be used to define a concrete architecture.

A (software) Architectural pattern is a standard design in the field of Software Architecture with applying some architecture principles, but it is not equal to an architecture. An architectural pattern is a concept that solves and delineates some essential cohesive elements of a software architecture and Different architectures may implement the same pattern.

Examples of architectural styles and patterns

  • Blackboard
  • Client–server model (2-tier, n-tier, peer-to-peer, cloud computing all use this model)
  • Database-centric architecture
  • Distributed computing
  • Event-driven architecture
  • Front end and back end
  • Implicit invocation
  • Monolithic application
  • Peer-to-peer
  • Pipes and filters
  • Plugin
  • Representational State Transfer (REST)
  • Rule evaluation
  • Search-oriented architecture (A pure SOA implements a service for every data access point.)
  • Service-oriented architecture(SOA)
  • Shared nothing architecture
  • Software componentry
  • Space based architecture
  • Structured (module-based but usually monolithic within modules)
  • Three-tier model

Architecture interaction

Following Diagram show the major Architecture Interaction

 

Architecture Interaction

Major Deliverable of software architecture

There are three major software architecture deliverable, they are domain model, architecture blueprint and Architecture  prototype.

Domain Model captures the structural and the behavioral relationships between system-level components. Architecture Description a guideline or a model that shows where components should be located and how they communicate, that also represents the deployment environment.  The Description are usually in document form known as Architecture Description Document (ADD) and typically created based on UML diagrams. Finally, Architectural Prototype provides an end-to-end demonstration or implementation of the primary technologies and components, it usually act as the technologies base or proof of concept of the target software architecture. The architecture blueprint is the collection of the domain model and Architecture description Document, It  facilitates communication between stakeholder.

The software architecture can be designed, analyzed, documented and implemented.

Architecture activities

There are  four major disciplines related to software architecture, they are usually performed iterative and at different stages of the software development life-cycle.

Architectural analysis: It is a process to understand the requirements of the system from the stakeholder, the requirements can be divided into two main categories, the functional and non-functional requirements. Architecture focus on the non-functional requirements including the quality attributes (Quality of services), quality attribute can be divided into run-time and development time non-functional requirements, they are well-defined in ISO/IEC 25010:2011 standard.

Architecture design: As the name suggested, the architecture design is the creation of the architecture. nowadays, we are usually made use of reference architecture available in the industry to help developing own architecture. adopting technologies such as Java EE and using software framework have give us some of reference architecture.

Architecture evaluation: it is the process of determining how well of the current or under designing architecture fill the requirements or not. Architecture evaluation is an important process but often  missing in software development project. Moreover,  it is difficult to carry out the evaluation when the project  schedule is tight. However, some of the techniques on Architecture evaluation have been developed to help the architect crop with the tasks, they include  Architecture Tradeoff Analysis Method (ATAM) and TARA.

Architecture evolution:  It is the process to maintain the software architecture to adopt changes.

While performing the above discipline, the Knowledge Management, Communication, decision making and documentation activities will be carried out.

System architecture and Enterprise Architecture

As I told, there are many things to learn to become an architect. There are many topics worth to be discussed here, such as architecture description languages, architecture viewpoints, architecture frameworks, architectural styles and patterns. SOA (Services Oriented Architecture) is actually one of architectural styles.

On the other hand, the system architecture and enterprise architecture are two software architecture related concepts, they have broader concerns.

Systems architecture is the architecture of systems that consists of both hardware and software. Moreover, Enterprise architecture concerns how software systems support the business process and goals of the enterprise, there are also some popular reference model of enterprise architecture such as TOGAF and Zachman Framework.

We will have further discussion on these topics, please come again if you are interested.

Peter

 

彼得的新博客

slider3

各位朋友、網友及同業:

歡迎來臨彼得的新博客!彼得分享經歷、心情與知識,這也許可以牽一牽大家嘴角的笑或眼角的淚,在流金歲月裡,多留一份真摯,增加一點快樂。你或許只是碰巧來到,也可在這短暫的瞬間中傾聽我的心聲,就讓我們珍惜這不期而遇的緣份。