第二章主要讨论了软件开发过程中的难点,包括用户理解与程序员理解的转换、人机交流、大型软件开发中的挑战以及结构化和面向对象的编程原则。强调了管理、文档编写和软件评价的重要性,还提到了软件开发团队的素质要求。