iT邦幫忙

softwareengineering相關文章
共有 81 則文章

技術 什麼是統一建模語言 (UML)?

UML是統一建模語言的簡稱,是一種標準化建模語言,由一組集成的圖表組成,旨在幫助系統和軟體開發人員指定、可視化、構建和記錄軟體系統的偽影,以及商業建模和其他非軟...

技術 活動圖教程

活動圖類似於業務工作流程圖或簡單的流程圖,具有更豐富的語義。它描述了系統活動,或進行活動的人,以及這些活動的順序流程。活動圖是與面向對象方法相關的 UML 圖之...

鐵人賽 Software Development DAY 3

技術 【Day 04】阿公級的系統分析方法 -- DFD

前言 上一篇談到領域驅動設計並不是橫空出世,而是經由過去幾十年的逐步演化而成的,因此,我們就來看看阿公級的系統分析方法 -- 『結構化分析與設計』(俗稱DFD)...

徵才 GHR就博會-日本3月ONE DAY IT工程師面試會資訊

大家好:GHR是幫台灣人介紹日本工作的人才介紹公司FB https://www.facebook.com/GHRtaiwan/ ーーーーーーーーーーーーーー...

鐵人賽 自我挑戰組 DAY 13
再戰軟體工程 系列 第 12

技術 『依賴注入(DI)』 -- DI做啥小?你才DI,你全家都DI!

今天要講的是一個老到不能再老的老題目:『依賴注入』。依賴注入,Dependence Injection,也很常被簡寫成DI。很多時候,我們都是在學Spring架...

技術 一文總覽敏捷軟體開發術語

1. 什麼是Agile? Agile是一種軟件開發的理念,是對Software Development的價值觀。不是所有Project都應該使用Agile。Ag...

鐵人賽 自我挑戰組 DAY 8
再戰軟體工程 系列 第 7

技術 『根本就沒有QA』 -- 淺談測試與品保

『我進QA啦。』『這個案子現在已經在QA了。』『目前很順利,估計明天就可以進QA。』 多麽熟悉的工程師對白,不是?我對於各家公司的工作流程沒有意見,畢竟,能賺錢...

鐵人賽 自我挑戰組 DAY 2
再戰軟體工程 系列 第 2

技術 『DoD』 -- 論定義完成的重要性

終於,我們開始跑scrum了。 在跑scrum的過程中,免不了要把需求寫成user story,再在每個story中定義什麼叫做『完成』。PO每個sprint都...

鐵人賽 Software Development DAY 1

技術 【Day 01】中台架構浪潮與啟示

前言 近幾年中國掀起一股『中台架構』熱潮,大型企業紛紛導入此一概念,重整戰略資訊架構,建構業務、數據、AI、技術、移動、通訊、安控、...等中台,接著這股熱潮也...

鐵人賽 Software Development DAY 2

技術 Day 02 「住手!你想搞死 QA 嗎?」 單元測試是測試還是功能?

今天在聊測試之前,我們要先聊 Scrum 與敏捷開發。為什麽?等會你就知道了。 烽火下的 Scrum 思考一下以下兩句話:「我們這個 Sprint 先做功能,下...

鐵人賽 自我挑戰組 DAY 10
再戰軟體工程 系列 第 9

技術 『出來混,遲早要還的』 -- 工程師心中最軟的一塊:技術債 (上)

琛哥說了,出來混,遲早要還的。工程師出來職場上打滾,不論專業度高或低,責任心好或壞,都或多或少會累積出一些技術債。技術債這種東西,有很多點都跟真實生活中的借貸...

鐵人賽 Software Development DAY 9

達標好文 技術 Day 09 「世事難預料」單元測試與例外處理

世事難預料,寫程式總會遇到例外。例外該怎麼處理,邏輯該怎麼驗測,本篇將進行討論。 圖片擷取自網路 「例外處理有什麼難的。不過就是 try-catch 嗎?」 嗯...

鐵人賽 Software Development DAY 4

技術 Day 04 「樹頭顧乎哉」測試金字塔 之 Unit Test v.s. Integration Test

今天先來聊聊測試的規模與邊界。 測試金字塔 說到單元測試,那就一定要提到 Mike Cohn 在書中提到,有名的「測試金字塔」: 圖片轉自 Martin Fow...

技術 【Day 10】Repository 設計模式(Python)

前言 Repository 設計模式主要是要分離商業邏輯與資料存取的邏輯,希望開發者專注在商業邏輯的設計,不必擔心如何與資料庫介接。圖一. DDD 分層 另外,...

鐵人賽 自我挑戰組 DAY 4
軟體工程漫談 系列 第 6

技術 『用註解補足程式碼易讀性?』 -- 論註解的是與非

這是一篇臨時追加的主題,因為在前文中,有邦友指教,聊到註解的實用性,深有感觸。同時,想到大師Robert C. Martin也在作品中不只一次強調註解的利與弊,...

鐵人賽 Software Development DAY 3

技術 Day 03 「要開始囉!」單元測試的起手式:人生第一個單元測試

終於要開始了:「說到底,單元測試怎麼做?」 單元測試 單元測試要測的是一個邏輯單元功能是否正確。這短短的一句話,其實就有兩個蠻常爭議的點:1) 什麼叫一個單元,...

鐵人賽 Software Development DAY 6

技術 Day 06 「不聽話就換掉」測試與依賴:測資料 之 用 Mock 工具控制依賴

2021 IT 鐵人 Day 06 測試與依賴:測資料 之 用 Mock 工具控制依賴 今天要來聊的是另一種控制依賴的方法:Mock 工具。 不受控的依賴 讀者...

鐵人賽 Software Development DAY 21

技術 Day 21 「事有經重緩急」Clean Architecture 簡易入門

古語有云:「歲有凶穰;故谷有貴賤;令有緩急;故物有輕重。」旨在告訴後人,做任何事情,一定要先搞清楚狀況,把事情的優先順序排好再開始動手,方為上策。時間有限,但要...

鐵人賽 自我挑戰組 DAY 19
再戰軟體工程 系列 第 18

技術 『你儂我儂的程式碼』 -- 談Code Smell 之 Feature Envy

我們在前面的兩篇文章中,各自提到了程式的『波動拳』與『大量參數』兩種降低可讀性的程式寫法。然而,大部分時候,『可讀性』並不是最嚴重的問題,他只是不高明而已,『耦...

鐵人賽 自我挑戰組 DAY 5
再戰軟體工程 系列 第 4

技術 『等價類劃分法』 -- 談測試的基本:快速建立所有可能案例

撰寫本篇文章是因為在一個讀書會當中,聽到了成員分享邰曉梅老師在著作中提到的觀念,雖然他不是該章節的重點,但是可以快速幫你已安全的方法,列出所有可能的測試案例。這...

技術 【Day 08】工廠方法設計模式(Python)

前言 上一篇我們討論DDD的戰術設計,它建議引用各種設計模式,提高生產力,因此接下來,就來介紹各種設計模式(Design Patterns),我們會使用Pyth...

鐵人賽 Software Development DAY 5

技術 Day 05 「乖,聽話給你吃糖果!」測試與依賴:測資料 之 用資料控制依賴

聊完測試金字塔,讓我們回到單元測試。 在這篇中,我們會從單元測試的控制與撰寫開始,一路帶到單元測試與「單一職責原則(Single Responsibility...

技術 數據流圖初學者指南

數據流圖為組織理解、完善和實施新流程或系統提供了一種直接、有效的方式。它們是您的流程或系統的可視化表示,因此它們易於理解和修剪。資料流程圖為組織提供了一種直接和...

鐵人賽 自我挑戰組 DAY 1
再戰軟體工程 系列 第 1

技術 『量化工程師的忙碌度』-- 你是哪一個

『好忙啊,好忙啊!』身為工程師,時不時地就有這種心情吧?在產品發展的過程中,隨著功能越來越多,客戶需求變更,或是緊急修正線上bug,每天每天的工作忙碌度都不太一...

鐵人賽 Software Development DAY 8

技術 Day 08 「說好的射後不理呢?」多線程環境下的單元測試

今天來聊聊「多線程」的單元測試。 多線程測試的困難點 當系統成長到一個程度,效能的重要性就會慢慢浮現,隨著使用者數量越來越大,「效能」的影響也會變大,最終變成系...

鐵人賽 自我挑戰組 DAY 22
再戰軟體工程 系列 第 21

技術 『How Old Are You:怎麼老是你』 -- 從Singleton談設計模式

前面講了幾篇設計模式的好處,事實上,大自系統架構,小至單一個物件的創見,都可以看見設計模式的影子。今天我們從最簡單不過的『創建單例物件』(Singleton)來...

鐵人賽 Software Development DAY 30

技術 《軟體工程篇 - 2》 — 軟體開發生命週期 (SDLC) & 安全軟體發展生命週期 (SSDLC)

軟體開發生命週期 (SDLC) 軟體開發生命週期 (SDLC) 是一個系統化的過程,用於建立和維護軟體應用。它確保所有開發活動都是有組織、有計劃和可控制的...

技術 【Day 09】配接器 設計模式(Python)

前言 上一篇我們用 Python 簡單的幾行程式,就可以實踐工廠方法設計模式,本篇繼續討論另一個設計模式 -- 配接器(Adapter)。 配接器(Adapte...

技術 所有您需要了解用例建模的基礎知識

用例描述了用戶如何使用系統來實現特定目標。用例圖由系統,相關用例和參與者組成,並將它們相互關聯以形象化:所描述的內容是什麼?(系統),誰在使用該系統?(參與者)...

鐵人賽 Software Development DAY 3

技術 【Day 07】領域驅動設計的戰術設計(Tactical Design)

前言 上一篇我們討論DDD的戰略設計,說明系統範圍如何切割成多個領域(Domain)、子領域(Sub-Domain),完成後,接著進行戰術設計,將實體進一步分類...