理解软件工程:解决问题的艺术

需积分: 13 0 下载量 200 浏览量 更新于2024-07-09 收藏 212KB PPT 举报
"软件工程-Chapter01.ppt-综合文档" 在软件工程的领域中,Chapter01主要探讨了为何我们需要软件工程以及其核心概念。软件工程(Software Engineering,简称SE)是一个系统化、规范化的专业领域,旨在解决复杂问题,特别是通过软件来实现这一目标。本章内容围绕以下几个关键知识点展开: 1. **什么是软件工程?** 软件工程不仅涉及编写代码,更是一种解决复杂问题的方法。它包括对问题的理解、问题分解、组件化设计、解决方案构建和合成等多个步骤。软件是解决复杂问题的有效途径,因为它能够处理大量数据、执行复杂的计算和管理复杂的系统。 2. **软件工程的关键问题** 软件工程的关键问题涉及到如何确保软件的质量、可维护性、可扩展性和成本效益。这些问题要求我们在设计软件时考虑其在整个生命周期中的表现,包括需求分析、设计、编码、测试、部署和维护。 3. **“好软件”的定义** 好的软件不仅要满足功能需求,还要易于理解、修改和维护。此外,它应该具有良好的用户界面、高效的性能、可靠的稳定性以及高度的安全性。 4. **计算机科学问题与工程问题的差异** 计算机科学关注理论基础和技术原理,而软件工程更侧重于将这些理论应用于实际问题的解决方案,强调实践性和可操作性。工程问题通常需要考虑更多的现实约束,如时间、预算和资源限制。 5. **参与软件工程的人** 软件工程涉及多种角色,包括项目经理、系统分析师、软件设计师、程序员、测试工程师、文档撰写者等。每个角色都在软件开发过程中扮演着重要的角色,共同协作以完成项目。 6. **自1970年代以来的软件工程变化** 自那时以来,软件工程经历了巨大的发展,从最初的简单编程方法到如今的敏捷开发、DevOps和持续集成/持续交付(CI/CD)等现代实践。此外,随着云计算、大数据和人工智能等新技术的崛起,软件工程的挑战和机遇也在不断演变。 7. **解决问题的过程** 解决问题的过程包括问题分析、分解、描述问题子集及其相互关系、组件化设计、合成解决方案以及最终的大型结构构建。这个过程强调了模块化和分治策略,使得复杂问题得以有序地解决。 8. **合成和组件化** 通过小型问题的解决方案合成大型问题的解是软件工程中的一个核心概念。这种合成可能是一个挑战,因为需要确保各个部分之间的协调和兼容性。 Chapter01深入浅出地介绍了软件工程的基本理念,为我们理解软件工程的重要性及其实践提供了基础。学习这部分内容有助于我们更好地理解和应对软件开发中的各种挑战。

7.main方法参数的使用。阅读下面的代码。 --------程序清单------------------------------------------------------------------------------------------------------------ package chapter06; public class CommandLine { public static void main(String[] args) { if (args.length == 0) { System.out.println("Hello, welcome to Java!"); } else { switch (args[0]) { case "-draw" -> { for (int i = 0; i < 3; i++) { for (int j = i; j < 3; j++) System.out.print("*"); System.out.println(); } } case "-add" -> {// + int sum = 0; for (int i = 1; i < args.length; i++) { int num = Integer.parseInt(args[i]); sum += num; if (i != 1 && num > 0) System.out.print("+"); System.out.print(args[i]); } System.out.println("=" + sum); } default -> { System.out.println("no such command-line option"); } } } } } --------------------------------------------------------------------------------------------------------------------------------- 以下操作都在该类源文件所在的文件夹下。 (a)(2分)编译完该类后,如果在终端通过输入命令“java chapter06.CommandLine -cdl Wenzhou”运行该类,此时main方法的形参args其每个元素的值是什么? (b)(16分)分别通过以下命令运行该程序,其输出结果是什么?请简单说明你的理由(没有理由不给分)。 java chapter06.CommandLine -add 12 31 44 -1 -2 java chapter06.CommandLine -draw java chapter06.CommandLine java chapter06.CommandLine -cdl (c)(2分)在Eclipse里设置运行配置,然后得到(b)中第1条命令运行效果并截图。 答:

2023-05-25 上传

xiazai.py:10:0: C0301: Line too long (130/100) (line-too-long) xiazai.py:29:21: C0303: Trailing whitespace (trailing-whitespace) xiazai.py:30:0: W0311: Bad indentation. Found 10 spaces, expected 12 (bad-indentation) xiazai.py:40:0: C0301: Line too long (103/100) (line-too-long) xiazai.py:41:0: C0301: Line too long (153/100) (line-too-long) xiazai.py:53:0: C0305: Trailing newlines (trailing-newlines) xiazai.py:1:0: C0114: Missing module docstring (missing-module-docstring) xiazai.py:7:0: C0103: Constant name "url" doesn't conform to UPPER_CASE naming style (invalid-name) xiazai.py:13:13: W3101: Missing timeout argument for method 'requests.get' can cause your program to hang indefinitely (missing-timeout) xiazai.py:14:16: I1101: Module 'lxml.etree' has no 'HTML' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member) xiazai.py:19:0: C0103: Constant name "num" doesn't conform to UPPER_CASE naming style (invalid-name) xiazai.py:21:4: R1723: Unnecessary "elif" after "break", remove the leading "el" from "elif" (no-else-break) xiazai.py:24:17: W3101: Missing timeout argument for method 'requests.get' can cause your program to hang indefinitely (missing-timeout) xiazai.py:25:20: I1101: Module 'lxml.etree' has no 'HTML' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member) xiazai.py:28:8: C0103: Constant name "judge" doesn't conform to UPPER_CASE naming style (invalid-name) xiazai.py:28:31: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) xiazai.py:30:22: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) xiazai.py:31:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) xiazai.py:34:8: C0103: Constant name "chapter_num" doesn't conform to UPPER_CASE naming style (invalid-name) xiazai.py:38:29: W3101: Missing timeout argument for method 'requests.get' can cause your program to hang indefinitely (missing-timeout) xiazai.py:39:32: I1101: Module 'lxml.etree' has no 'HTML' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member) xiazai.py:41:22: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) xiazai.py:42:16: C0103: Constant name "all_content" doesn't conform to UPPER_CASE naming style (invalid-name) xiazai.py:44:20: R1713: Consider using str.join(sequence) for concatenating strings from an iterable (consider-using-join) ----------------------------------- Your code has been rated at 5.43/10

2023-07-15 上传