王廷瑋|數位醫療|智慧醫療: 6月 2024 WFU

2024年6月30日 星期日

Requirements Definition

Questions & Communication Channels


  • When people communicate, there are three channels that send information to someone.
    • verbal channel: what you say or what you write if the communication is in written form
    • paraverbal channel: consists of how you say what you say in terms of word emphasis, tone of voice, and pacing
    • nonverbal channel: body language
  • One way is to be on the lookout for when the three channels are not in synch with each other.
  • Risk associated with getting correct and complete requirements information


Ask better question


  • In fact, 55 percent is sent in the nonverbal channel, 38 percent in the paraverbal, and only 7 percent in the verbal channel.
  • Open-ended questions: most powerful type of question for learning about things
  • Closed-ended questions: useful when you need to get yes/no responses, very specific finite information, and to get agreement.
  • Clarifying questions: you need to confirm your understanding of what someone has told you
  • Probing questions: follow-up and get more information about something, specific examples of something, or when someone has answered a prior question with a generic word like usually, mostly, sometimes, or often leading questions
  • Leading questions
  • Double-barreled questions


Some Tools & Techniques


  • Surveys
  • Brainstorming
    • define the objective of the brainstorm
    • set a time limit for people to think about their input
    • collect input from the group
    • looking through the ideas, maybe combining ideas that are the same but were stated using different words, maybe rewording things to improve clarity, or developing categories that the ideas belong to
    • prioritize or rank the ideas
  • Multi-voting
    • each person in the group to select the most important items on the list
    • tally the votes for each item on the list
    • consists of eliminating the items with the fewest votes
    • repeats until we’ve reduced the list to the desirable size
  • Cause-effect analysis
    • cause-effect diagram


Use Case Components


  • three primary components to a use case:
    • summary fields: contain information like the use case name, use case participants, use case goal, assumptions, and so forth
    • a main success scenario: contains the typical
    • interactions between users, other systems, and the system under development.
    • one or more alternate scenarios: consist of interactions that describe alternate ways to achieve the goal of a use case, as well as interactions required to handle errors
  • An actor is someone or some thing that interacts with the system we are gathering requirements for.
  • actors must be external to the system we are gathering requirements for, and, a use case must have at least one actor
  • Every use case must have a name and the name should give us some idea about the goal of the use case
  • A trigger is an event that causes a use case to start.
  • A pre-condition describes the state of the system that is required before a use case can attempt to start.
  • A post-condition describes the state of the system after a use case has taken place successfully


Main Success & Alternate Scenarios


  • The main success scenario is the first use case scenario that we write
  • When business rules or data elements are associated with an action step, it‘s best to reference them in the action step rather than hard-coding them into the action step.
  • Alternate scenarios are written below the main success scenario.


Using Decision Tables


  • Business rules typically specify how to take a function’s inputs and convert them to the function’s output


Using State Models


  • a state is a set of conditions at some point in time and those conditions can change over the course of time based upon things that occur
  • state transition matrix


Data Models


  • a conceptual data model: describes things, called
  • entities, that will be stored, and the relationships
  • between those entities
  • a logical data model: elaborates on a conceptual data model by including attributes associated with the entities
  • a physical data model: describes how the product’s database will actually be built
  • data model:
    • an organized representation of business data that will need to be stored and managed
    • The benefit of using a data model is that it provides more precise, detailed, and unambiguous information about the data that will need to be stored and managed.
  • discover the types of data that will need to be managed and stored
  • study the associations or relationships that some of these entity types will have with respect to each other
  • Technically, a model that shows the entity types and their relationships is called a conceptual data model.
  • Entity types must have attributes. Attributes correspond to information that will be stored and managed.
  • When attributes are added to the conceptual model it’s technically called a logical data model.
  • Another step in data modeling, that is usually performed in the later stages, is to “normalize” the logical data model
  • Associations represent relationships that entity types have with one another.
  • Data normalization is a technique that is used to organize data into tables.
  • When you normalize a database, you have four goals:
    • arranging data into logical groupings such that each group describes a small part of the whole;
    • minimizing the amount of duplicate data stored in a database;
    • organizing the data such that, when you modify it, you make the change in only one place;
    • building a database in which you can access and manipulate the data quickly and efficiently without compromising the integrity of the data in storage.


Business Process Models


  • process hierarchy diagram, process decomposition diagram
  • UML Activity Diagram
  • swim lane diagram
  • context diagram
  • data flow diagram
  • create, read, update, and delete matrix


Human-Computer Interaction

Human-Computer Interaction


  • There are five functions that the user interface provides:
    • User may invoke functions provided by the system.
    • User may input data to the system.
    • System may indicate available functions for the user.
    • System may display data to the user.
    • System may display status information to the user.


Usability Engineering


  • It is aimed at producing practical results using a repeatable process based on scientific principles. Much of the underpinnings of usability engineering is the science of psychology.
  • UI Engineering works in parallel with other engineering disciplines: systems engineering, hardware engineering and software engineering.
    • It starts with usability requirements analysis.
    • The next phase is usability analysis and design.
    • Then there is usability testing.
  • Usability requirements have to be testable
    • Effectiveness
    • Efficiency
    • Safety
    • Utility
    • Learnability
    • Memorability
  • User experience goals
    • Satisfying
    • Enjoyable
    • Fun
    • Entertaining
    • Helpful
    • Motivating
    • Aesthetically pleasing
    • Supportive of creativity
    • Rewarding
    • Emotionally fulfilling


Usability Analysis


  • Interviewing
  • Brainstorming
  • Field studies
  • Generate operational scenarios


Usability Design


  • Process of figuring out how to bridge the gap between how the user wants to use the system and the capabilities provided by the system implementers
  • The user’s mental model is based on the user’s goals for using the system.
  • The designer’s model is described in terms of mechanisms offered by the system implementation.
  • Sometimes this mapping between the user’s model and the designer’s model is accomplished through the use of metaphors
  • The usability design process involves describing three aspects of the interaction.
    • Activity scenarios – show how the users carry out their goals. We can use UML use cases or activity diagrams for these models.
    • Information scenarios – show how information is exchanged between the users and the system. Screen layout prototypes are useful here.
    • Interaction scenarios – show the details of how the user and the system interact. Once again, a prototype, either low fidelity or high fidelity, can be used here.
  • Several aspects of the user interface that can be prototyped
    • Input Controls: These are ways to allow the user to present information to the system.
    • Navigational Components provide ways for the user to control the action or the presentation of information.
    • Informational Components are mechanisms that enable the system to present information to the user.


User Interface Mechanisms


  • Input mechanism
    • Keyboard
    • graphical user interfaces
    • Microphone
    • Voice commands
    • Video cameras
    • Special devices
  • Output mechanisms
    • Text or graphics
    • Auditory output
    • Video and animation
    • Haptic feedback
    • Special devices
  • Interacting with systems
    • Command line
    • Menus
    • Form fill-in
    • Direct manipulation
    • Auditory commands
    • Gestures


Error Handling


  • Severity
    • Useful error messages
    • Annoying messages
    • Dangerous
  • Mistakes are where you have the wrong mental model.
  • Slips are where you have the right mental model; you just messed up in execution.
  • Handling error
    • Do nothing
    • Disable
    • Issue confirmation prompt
    • Provide “undo” capability
  • Error Message Guidelines
    • Be specific
    • Provide constructive guidance
    • Be positive
    • consistent
    • Consider the user’s experience and skill level.
    • Consider the culture of the region where the system will be deployed.


Prototyping


  • A prototype is a concrete, but partial implementation of a design.
  • Its basic purpose is to reduce risk in software development.
  • Here are some benefits of prototypes:
    • Expose missing system capabilities.
    • Expose confusing services.
    • Early availability (through evolutionary prototyping).
    • Basis for specification of software requirements.
    • Support user training.
    • Support system testing.
  • Low fidelity prototype
  • High fidelity prototype
  • A useful technique for modeling user interaction is called Screen flows and Layouts.


Systems & Requirements Engineering

Systems Engineering


  • System:
    • regularly interacting or interdependent group of items that form a unified whole
    • homogeneous entity that exhibits pre-defined behavior and which is composed of heterogeneous parts that do not individually exhibit that behavior and which is an integrated configuration of components and/or subsystems
  • Systems engineering life cycle:
    • System design
    • Requirements
    • Design
    • Coding
    • Testing
    • Integration


Allocating Requirements


  • Systems that contain hardware, software, people and processes
  • Once the subsystems and components have been identified, system functions must be allocated to them. In systems engineering this is called functional allocation or functional analysis
  • There are a number of techniques that can be used to help make allocation tradeoff decisions.
  • Most of these techniques use a type of analysis called multi-criteria decision analysis (MCDA)


Requirements Engineering


  • The word engineering is used as a way of emphasizing the use of systematic and repeatable techniques that help to ensure the completeness, correctness, consistency, and continued relevance of software requirements for a software product.


Introduction to Requirements


  • A requirement is a capability that must be delivered by the system, or a condition that the system must satisfy.
  • A functional requirement is something the system must do in other words, the behaviors the system must possess.
  • A functional requirement can have 5 moving parts inputs, outputs, statement of intended functionality, business rules, and possibly constraints.
  • A non-functional requirement is a condition that the system must comply with.


Importance of Requirements


  • First, the requirements phase in a project can be a major source of defects that get introduced into the project.
  • Second, the requirements are used as input to many of the subsequent project work phases.
  • And, third, requirements errors can be costly and time-consuming to fix…and contribute significantly to a project’s rework costs.
  • Good requirements are correct, complete, testable, and unambiguous.


Activities and Work Products


  • Analysts will identify key stakeholder groups, evaluate the system boundary, and elicit stakeholder needs to identify the project’s functional and non-functional requirements
  • Major deliverable work products produced in this activity typically include a Vision Document, a use case model or a functional requirements specification document if use cases are not being used, and a supplementary specification document.
  • The Vision Document specifies the stakeholders’ view of the product to be developed. It is written in terms of the stakeholders’ key goals/needs and desired features.
  • And it provides the basis for eliciting and specifying the more detailed product requirements.
  • Section 3 in this document is extremely important. It contains a description of product stakeholders and their needs. Note that there are two types of stakeholders: end user stakeholders and non-user stakeholders.
  • My first layer of stakeholders is what I call direct stakeholders. The next layer is the enterprise layer. And the third layer consists of entities outside the organization.


Use Cases vs Traditional Requirements


  • A use case describes a set of interactions between the product we are gathering requirements for, users of that product, and other systems the product will interact with.
  • Use cases are used to describe the functional requirements for a software product.


2024年6月28日 星期五

Project management

Introduction


  • Project: temporary endeavor that is undertaken to create a unique product or service
  • Project management: application of knowledge, skills, tools, and techniques to project activities in order to meet or exceed the needs and expectations of stakeholder
  • Project Management Processes:
    • project initiation ⇒ project planning ⇒ project execution (tracking and control) ⇒ project closure
    • umbrella processes: quality assurance, config management, require management
  • Project failure: poor project planning, poor understanding of project requirements and deliverables, failure to use meaningful measures to track project progress
  • Adding more staff to a project require more communication
  • Productivity deteriorates substantially when working on more than 2 tasks
  • Increase project oversight increase cost and will usually increase the schedule as well


Project Planning


  • The key output is a document that we refer to as a project plan.
  • Other outputs might include things like a risk management plan, a communications plan, and plans for supporting processes like quality assurance and configuration management.
  • Minimal things that a project plan should communicate to all project stakeholders
    • Specifying the characteristics of the product to be built
    • The specific project deliverables that will be produced over the course of the project
    • When the product will be delivered
    • When the major tasks and milestones will be completed (A milestone is a reference point that marks a significant project event)
    • How the project work will be done, usually by specifying a project life cycle and an associated set of work tasks
    • Who is going to do the work, work responsibility matrix


Project estimation process


  • Effort is measured in terms of how much time is required to perform project tasks. Typical units of effort are person-hours, person-days, person-weeks, person-months, or person-years.
  • Sometimes size estimates are determined. Estimates of size might be the total number of lines of code that the software product is expected to have, or the total number of function points associated with the software product.
  • Project cost is, of course, a very common thing that is estimated during the project planning process, as is the project schedule, which consists of the calendar time duration and specific calendar dates associated with major project components and overall completion date.
  • Project Management:
    • guesstimate is to make an estimate without using adequate or complete information
    • dictimates meaning in the context of the survey was that dictated values for cost or dictated deadlines for schedules were used
  • Estimate: an estimate is an approximate judgment or calculation about something
  • accuracy of an estimate is “how close” the estimate comes to the actual result
  • precision of an estimate is a “range of values” that you expect the actual result to fall within
  • It’s a best practice to revise estimates periodically during the course of a project


Estimation Techniques


  • Expert judgment: works best when there really are experts that can be called upon, when there is real historical information that can be accessed, when a structured process is used, and when the basis for the estimates is documented and communicated to project stakeholders
  • Structured group technique: multiple estimators, who are typically experts, form the estimating team
    • Delphi Method: The coordinator distributes project background information and estimating forms to each estimator. Each estimator prepares an estimate, anonymously, and documents their rationale. If they have questions, they may consult with the coordinator, but they can’t consult with each other. The coordinator then summarizes the estimates. If the coordinator determines that the estimates are close enough so that a reasonable range estimate can be formed, the process stops. Otherwise, the estimates and rationale are summarized and given to the estimators, and another iteration takes place. Estimators know the other estimates, and the rationale that others used, but they don’t know which estimators are associated with them
  • Rule-of-thumb estimating: may not scale up across different sizes and types of projects because the ratios and productivity factors can be different
  • Algorithmic estimating models: calculations or formulas that are typically based on estimates of software product size to provide estimates of effort, cost, or project schedule. In practice, to use some algorithmic models effectively historical data must be used to calibrate the models to organizational specifics, and some models require estimating or choosing a dozen or more parameters based on project and organizational characteristics. If historical is not available, the resulting estimates can be quite inaccurate.
    • function point analysis model
    • COCOMO(Constructive Cost Model) II
  • activity-based estimation: This technique starts with what’s called a work-breakdown structure. A work-breakdown structure is a list of all the tasks that are needed to complete the project. They can be defined at a high level or at a very detailed level. Once the work tasks are identified, the effort associated with each task…usually measured in person-hours, person-days, person-weeks, or person-months…is estimated, along with the costs…which are primarily labor costs. Non-labor costs also need to be estimated in order to come up with a total project cost estimate. The next step is to analyze the dependencies between tasks. Finally, the tasks, the dependencies, and the effort estimates, along with the staff resources that are expected to be committed to the project are all combined to estimate the project schedule.


Activity Based Estimation


  • Work breakdown structure: The work breakdown structure is a list of all the work that will be performed on the project. Each part of a project may have a different work breakdown structure, and each different group that collaborates on the project may have their own work breakdown structures.


Task Sequencing


  • In task sequencing, we identify the dependencies between project tasks.
  • The primary inputs are a list of the defined tasks, and any assumptions and constraints. Assumptions might be some of the same assumptions that went into the task definition process.
  • The tools and techniques involved in the task sequencing process are primarily the identification of task dependencies and the construction of what is called a project network diagram.


Schedule Estimation


  • Schedule estimation involves taking the task dependencies, effort estimates, project constraints, and resource assignments and estimating the calendar completion dates for key project tasks and the overall project completion date.
  • On the input side, we have a project network diagram, effort estimates for at least the major work tasks, a list of available resources…namely people or job categories that will be assigned to the project.
  • On the output side is a project schedule estimate, which would typically contain an estimate of the project completion date, and usually estimated completion dates for key project tasks and milestones.
  • Project managers may employ special project planning techniques like PERT, which stands for Program Evaluation and Review Technique, and CPM, which stands for Critical Path Method.


Incorporating Uncertainty


  • The three estimates are an optimistic estimate, a most likely estimate, and a pessimistic estimate.


Project Tracking and Control


  • There are a number of ways to measure project status. Many professional project managers will use something called earned value tracking, cost and schedule variances, and cost and schedule indices.
  • Earned value tracking uses three variables: the budgeted cost of work scheduled, the actual cost of work performed, and the budgeted cost of work performed…which is the earned value.
  • The budgeted cost of work scheduled is the monetary value of the work scheduled to be accomplished in a given period of time. In other words, it’s what is scheduled to happen.
  • The actual cost of work performed is the cost actually incurred in performing the work in that time period.
  • The budgeted cost of work performed…or earned value…is the monetary value of the work that is actually accomplished in that time period.
  • Cost variance is the difference between the budgeted cost of work performed (the earned value) and the actual cost of work performed.
  • Schedule variance is the difference between the budgeted cost of work performed (earned value) and the budgeted cost of work scheduled.


2024年6月5日 星期三

Software processes

Introduction


  • Related set of activities that lead to the production of a software product
  • Life cycle model
    • Framework: Planning, Standards, Visibility, Control
    • Choosing an appropriate life cycle
    • Type: Sequential, Prototyping, Staged Delivery, Iterative Incremental



Sequential Life Cycle Models


  • Pure Waterfall Models
  • Modified Waterfall Models



Staged Delivery Life Cycle Models


  • Start out as waterfall, but later deliver in staged or increments
  • Design-to-Schedule Model: Prioritize high-priority features



Prototyping Life Cycle Models


  • Rapid Prototyping Model
  • Evolutionary Prototyping Model



Spiral Model


  • Iterative/Incremental Life Cycles
  • Unified process life cycle model



Agile Software development method


  • Sequential or plan-driven methods
    • Waterfall, Iterative, Spiral, V-model
  • Agile manifesto’s 4 values
    • individuals and interactions over processes and tools
    • working software over detailed documentation
    • customer collaboration over contract negotiation
    • responding to change over following a plan
  • Sequential vs agile
    • standard SLC for 40 years vs value delivery with 1-4 weeks in each iteration
    • value delivery at project completion vs continuous feedback
    • waste vs lean philosophy minimizes waste
  • Agile scrum
  • Agile kanban


2024年6月4日 星期二

Fundamental of software engineering

Demasco, Joseph ; Schappelle, Sam J (He/Him/His) ; Garonzik, Jeff
  1. Introduction
  2. Process Models
  3. Software Project management
  4. Systems & Requirements Engineering
  5. Human-Computer Interaction
  6. Software Requirements Definition
  7. Analysis and Design Fundamentals
  8. Object-Oriented Analysis and Design I
  9. Object-Oriented Analysis and Design II
  10. Patterns, Implementation, Maintenance & Reuse
  11. Software Quality
  12. Assuring Software Quality
  13. Software Testing
  14. Project Demonstration


Fundamental of software engineering: Introduction

Introduction


  • What is software? Not hardware, procedure documentation, data
  • Type of application: application, system
  • Craft (hacking) + science (computer science) + engineering (software engineering)
  • Software engineering :
    • real products for real people
    • based on scientific principle
    • require academic background
    • repeatable, well-defined procedures and processes.



Origin


  • Definition: the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machine.
  • Software crisis: late and over-budget, poor quality, code hard to maintain, customers and users not happy, project difficult to manage. ⇒ complexity


Complexity


  • Numbers of interactions between lines of code
  • Moore’s law: density of transistors on a chip will double every two or so years
    • corollaries: RAM size in a computer, hard drive space in a computer, internet bandwidth.
  • Complexity trend:
    • max line of code: n = 2^t
    • max interaction: n =n*(n-1)/2


Goals and Principles


  • Goals: modifiability, efficiency, reliability, usability
  • Principles:
    • modularity (reduce complexity, divide and conquer)
    • abstraction
    • encapsulation (high cohesion, low coupling)
    • 4c (correct, complete, consistent, confirmable)


Is software engineering a profession


  • Organization: ACM, IEEE-CS


2024年6月2日 星期日

《人的條件》:重新定義現代社會中人的本質

作者:王廷瑋





漢娜·鄂蘭是一位著名的哲學家,師從海德格、胡賽爾和雅思培等大師。她在23歲時完成了博士論文,因為當時的歷史背景,她移民到了美國,並成為普林斯頓大學的第一位女性教授。她的著作《人的條件》是其最重要的哲學作品之一。《人的條件》這本書探討了人類在快速變化的科學和技術背景下,如何理解和保持自我。漢娜·鄂蘭認為,現代社會中的人們面臨著科學技術帶來的挑戰,這些挑戰使得人們無法用常識和語言來描述專業知識,從而成為專業知識的奴隸,被技術和機器所操控。她將人的條件分為勞動、工作和行動三個部分,並探討了這些條件如何對應人類活動的能力總和。




勞動、工作與行動的意義


為了更好地理解人類在現代社會中的處境,鄂蘭提出了勞動、工作和行動這三個概念,它們代表了人類活動的三個基本維度。

  1. 勞動:生命的必需品
勞動對應於生命本身,是人類為了滿足生物性需求而必須進行的活動,如種植食物、製作衣物等。勞動的重點在於持續的過程,而非最終的結果。在現代社會中,勞動從私領域轉移到了公共領域,但這種轉變並未帶來真正的解放,反而迫使人們更加臣服於生活所需。
  1. 工作:創造持久的世界

工作不同於勞動,它創造了人類不自然的世界。工作對應於人類創造的持久性和耐久性物品,如建築、藝術品和工具等。這些物品使得人類的生活環境變得更加穩定和持久。工作是一種有目標的活動,重點在於完成一個具體的結果。工匠通過工作創造出各種事物,大多是使用的對象,擁有財產的耐久性和市場所需的價值。正當使用不會消失,其穩固性和堅固性使世界變得持久。耐久性不是絕對的,使用消耗耐久性,但耐久性讓世界事務相對獨立於製造和使用它們的人。

  1. 行動:人際互動的本質

行動是最具多樣性的一種活動,通過與他人互動來實現,是純粹的人際連結。在古希臘,行動被定義為致力於公共事務的生活。那時,城邦包括了私人生活(家庭前政治的專制)和政治的生活(行動和言說說服)。而在現代,由於公共和私人的界限模糊,行動的意義已經改變。現代社會假設「無人」為社會唯一公益,用行為經濟學中的統計方法來衡量共同利益,社會用行為取代行動,假設人類僅是有行為的動物。


誕生和死亡、新生、不朽


人的條件對應人類活動的能力總和。人類的誕生和死亡、新生和不朽,是所有人類活動的基礎。這些基本條件影響了我們的勞動、工作和行動,並形成了我們對生活的基本理解。


「行動的生活」一詞


「行動的生活」這個詞語來自於亞里斯多德,他認為人類可以自由選擇三種生活方式:
  1. 縱情聲色犬馬:享受美的事物
  2. 獻身於城邦:通過卓越的行動創造出美
  3. 哲學家:通過沈思探索永恆的事物
隨著古代城邦的消失,「行動的生活」失去了原有的政治意義,而變成了對世界事務的所有主動投入。行動成為眾多世俗生活所需之一,唯一真正自由的地方剩下「沈思的生活」。


沈思與行動的對比


沈思相對於行動的優越性在於人們相信,沒有什麼可以在美和真理與自然世界相提並論。傳統上,「行動的生活」相對於「沈思的生活」,模糊了行動生活的種種區分和關聯。隨著馬克思和尼采翻轉品秩位階的改變,現代社會翻轉或傳統位階都假設人的活動有相同的人性成見。


永恆與不朽


在希臘,人的必朽相對於諸神的不朽。必朽者通過創造事物達到不朽。蘇格拉底在著書立說時注重永恆留下的軌跡,而非永恆本身。行動的生活才是永恆。柏拉圖的洞穴寓言中,離開洞穴為政治死亡,尋找永恆體驗。亞里斯多德則認為,沈思才是不朽,因為城邦會毀滅。


公共領域和私人領域


人被認為是社會或政治的動物。人類活動的條件是群居的。然而,勞動的動物不需要其他人。工作會失去人類的特質,而行動才是人獨享的特權,完全依賴於他人恆常存在。

希臘城邦興起時,私人生活(家庭前政治的專制)和政治的生活(行動和言說說服)形成了明確的界限。而近代社會既非公領域與私領域,生計維持在私人家政組織中,政治自由僅存於政治領域。


城邦和家政


在古代城邦,政治是地位平等的人的活動,家政則是絕對不平等的。近代社會有別於古代,政治只是社會的一種功能。社會、家政或經濟活動上升到政治領域,形成現代社會的獨特結構。

中世紀將所有人類活動都劃歸到私領域。政治思想只關心俗世領域,因此不知勇氣與政治美德為最重要的政治態度。踏入政治需要出生入死的準備,勇氣為至高無上的政治美德。家政的人才會關注自己的生活和生存,公民免於勞動和工作,不再侷限於生物性的生命歷程。







社會領域的興起


社會的興起模糊了公共和私人的界限。私有性暗示「缺如」,即缺乏人性中最高部分。現代個人主義使得私領域更加豐富。盧梭與浪漫主義者以探索私密性作為社會的反叛,反對社會水平化與從眾心態。

古代家天下獨裁在社會轉為無人統治,經濟學假設「無人」為社會唯一公益。無人統治並非沒有統治,某種情況下是最殘酷、暴虐的政治。

大眾社會的興起將各式團體同化為社會。近代世界社會征服公共領域,區分和差異成為私底下事。現代平等與古代等不同,行為取代行動。現代地位平等意味地位相同,古代公共領域意味爭勝、永遠做最好的。

經濟學假設人的行為一致,利用統計方法。人口越多、社會性越高,專制獨裁性越強。人數越多、表現越穩定,事件失去其重要性,失去闡明歷史能力,完全沈浸於日常瑣事。

自由主義經濟學家假設社會整體有一共同利益,「看不見的手」引導衝突與利益和諧。馬克思推論「人的社會化」自動產生所有利益的一種和諧。共產主義社會源自民族家世務的現實世界,對應假設只有利益科學幻想。

社會以行為取代行動,假設人為只有行為的動物。「行為科學」崛起意謂大眾社會吞沒所有階層,「社會行為」成為所有生活標準。






勞動受制於生命性格


勞動的動物被逐出世界,囚禁在自己身體的私有性裡。奴役般的勞動成為勞動階級的社會條件,所有的生活都是勞役。古代勞役負擔家政的消費,而不是為整個社會生產。古代城邦為消費中心,中世紀城市為生產中心。擺脫勞動和痛苦將使人生命喪失快樂,擺脫生氣與活力。

世界的實在性優於凡人的恆久性與耐久性。工具為工作的產物。器具和工具改變勞動的迫切性但無法改變其必要性。「工匠人」是世界的製造者,他們的理想是創造恆久性、穩定性和耐久性的物品。





消費者的社會


在消費者的社會中,所有人都降格為了謀生。從謀生的觀點,所有和勞動無關的都成為嗜好。勞動的解放不會帶來自由,反而迫使人臣服於生活所需。馬克思認為,勞動中解放就是從生活所需解放,從消費解放,正是人類生活的條件。

自動化的風險不在於機械化,而在於它加劇了生活的過程。自動化不會改變生活的主要性格,而是將理想的目標變成財富的增加。這些目標實際上早已存在,但一旦實現,就會失去魅力,變得像愚人節的快樂一樣短暫。

馬克思認為,休閒最終會將人從生計解放出來,使勞動的生物有生產力為機械主義哲學的幻想。然而,假設勞動力不會消失,實際上多出來的時間只會花在消費上。近代世界中,勞動的動物佔據公共領域,公共領域成為展現私人活動的地方。


社會普遍的不幸福


社會普遍的不幸福意味著沒有足夠的勞動來滿足社會的需求。只有「勞動的動物」才會要求幸福。生活變得越不費力,越難以找到意義。當痛苦和辛勞難以察覺時,社會也無法認識到自身的徒勞無功。

經濟變為揮霍的經濟。生活變得越不費力,越加難以意義生計促迫。痛苦和辛勞難以察覺時,社會再也無法認識到自身的徒勞無功。







世界的耐久性


「工匠人」生產出各種事物,大多是使用的對象,擁有洛克所說的財產的耐久性、亞當斯密認為市場所需的價值,以及馬克思的生產力。正當使用不會消失,其穩固性和堅固性使世界變得持久。耐久性不是絕對的,使用消耗耐久性,但耐久性讓世界事務相對獨立於製造和使用它們的人。

生產力注定導致普羅米修斯的反叛,破壞上帝創造的自然,建立人的世界。與單調的勞動中體驗到的痛苦辛勞相反,可以給人自信和滿足,成為生命自始自終的自信和泉源。製造的特徵在於有明確的終點,而勞動無起點和終點。










行動的無限性和不可預測性


行動的無限性來自於建立關係的巨大能力。國家設定限制以防範行動的無限性。行動的第二性格是內在的不可預測性,行動的結果只有在結局才能彰顯意義。

行動和言說中的人類多樣性是行動和言說的基本條件。人的特異性通過言說和行動表現出來,奠基於人的主動性。藉由語詞和行為,人們嵌進人類社會,行為者在行動中被揭露,行動才不會喪失其特有性格。


寬恕和承諾的力量


行動的不可逆性和不可預測性的解決之道來自自身的潛能之一,即寬恕和承諾。寬恕和承諾是行動中的核心力量,能夠使人類社會保持穩定和持久。

行動的災難來自於人的多元性,但行動的歷程性格排除勞動和行動力轉向探索自然。自然科學成為唯一關於歷程的科學,生產過程被最終產物吸收,行動歷程不會被個別行為耗盡,還會持續擴大。

行動的不可逆性意味著行動過程中無法回頭,寬恕的力量可以緩解這一點。行動者在行動中無法預測未來,但承諾的力量可以提供穩定性和安全感。


權力和顯露的空間


唯有行動和言說未分家,才能創造新的實在,權力才能實踐。權力維繫著公領域的存在,其要素是人民的同舟共濟。能取代權力的是武力,專制者孤立臣民,抵觸多元性的基本人性條件。

行動者通過言說和行動揭示自我,但不知道自己。行動到盡頭才能被認知,人類的本質不是人性或特質,而是通過訴說的故事體現。對人而言,有他人在場,世界對所有人開顯,人才具有實在性。


行動的歷程性格


假如排除勞動,工作以勞動模式進行。假如排除行動,行動力轉向探索自然:自然科學於是成為唯一關於歷程的科學,生產過程被最終產物吸收。而行動歷程不會被個別行為耗盡,還會持續擴大。行動的不可逆性和不可預測性意味著行動過程中無法回頭,但寬恕的力量可以緩解這一點。

行動者在行動中無法預測未來,但承諾的力量可以提供穩定性和安全感。行動的結果只有在結局才能彰顯意義,製造故事的並非行動者,行動者無法說明自身意義。


結論


漢娜·鄂蘭在《人的條件》中深入探討了勞動、工作和行動的區別,並分析了現代社會中的孤獨和變遷。隨著我們進入快速而深刻的人工智能時代轉型,人類社會的結構也正在發生劇變,類似於《二十一世紀資本論》中描述的資本結構朝向多樣性發展。人的條件也將隨著這些社會結構的變遷而改變。如何在生活中平衡勞動、工作和行動三者的比例,重新尋回人類存在的意義,並在這個新時代中重新定義《人的條件》,這是未來每個人都需要面對的重要抉擇。理解並適應這些變化,將是我們迎接未來挑戰的關鍵。


Insight


  • 「工匠人」製造工具幫助「勞動的生物」從生命歷程解放。
  • 「工匠人」的無意義困境由「行動和言說」解放。
  • 「行動」的不可逆性和不可預測性的解決之道來自自身種種潛能之一。寬恕,承諾和履行。


相關連結




閱讀筆記