201621044079韩烨软件工程作业三

软件工程 作业三


1.要求地址


2.PSP表格

PSP2.1个人开发流程预估耗费时间(分钟)实际耗费时间(分钟)
Planning计划53
· Estimate明确需求和其他相关因素,估计每个阶段的时间成本53
Development开发274308
· Analysis需求分析 (包括学习新技术)6060
· Design Spec生成设计文档52
· Design Review设计复审42
· Coding Standard代码规范55
· Design具体设计1020
· Coding具体编码120180
· Code Review代码复审109
· Test测试(自我测试,修改代码,提交修改)6030
Reporting报告4065
·测试报告3060
·计算工作量52
·并提出过程改进计划33

3.解题思路描述

这次项目主要是建立在上一个项目的基础上,经过讨论,最后我实现的部分是web版本的GUI界面实现。

对于web版本,首先实现了两个前端jsp页面,一个界面使用表单,以及文本框,按钮等表单控件来获取布局,通过文本框提交按钮,将文件文本框中的内容提交到处理的jsp界面,然后根据选择的按钮调用后台函数进行相应的处理。然后在结果文本框中显示得到的答案。


4.代码说明

1.表单内容

该内容使用了表单,设置了两个文本框,一个文本框用于接受文件的输入,另外一个用于实现统计结果的输出,然后设置了若干个按钮进行数据的处理。

        <div id="div">
            <form action="show.jsp" method="post" class="filech" id="filech" name="filech">
            <fieldset class="filefield">
                <legend>请选择一个文件:</legend>

                <input type="input" name="file" placeholder="请在此输入文件路径" >
                <input type="hidden" value="" name="ch">
                <input type="submit" value="上传" id="1" name="1" onclick= "ch.value= '上传' " onchange="selectxt(this)">
            </fieldset>
            <fieldset class="textfield">
                <textarea  id="textarea" placeholder="请点击上面按钮选择文件或直接在此输入文本" name="textarea"></textarea>
            </fieldset>
            
        </form>
        
        <textarea class="dealtext" id="result" readonly ></textarea>

        </div>
        <div class="but">
        <input type="submit" form="filech" value="详细统计" id="2" name="2" onclick= "ch.value= '详细统计' "/>
        <input type="submit" form="filech" value="字符统计" id="3" name="3" onclick= "ch.value= '字符统计' "/>
        
        <input type="submit" form="filech" value="行数统计" id="4" name="4" onclick= "ch.value= '行数统计' "/>
        <input
            type="submit" form="filech" value="单词统计" 
            onclick="ch.value= '单词统计' " />
        <input type="submit" form="filech" value="词频统计" id="5" name="5" onclick= "ch.value= '词频统计' "/>
        <input type="number" form="filech" placeholder="请输入词组数量" name="group" />
        <input type="submit" form="filech" value="词组统计" id="6" onclick= "ch.value= '词组统计' " />
        </div>
2.文件处理部分代码

该部分是实现文件的上传,并将文件内容写入相应的位置。

            <%
                String text = "";
                String ch = request.getParameter("ch");
                if (ch.equals("上传")) {
                    try {
                        String getfile = request.getParameter("file");
                        if (!getfile.substring(getfile.length() - 3, getfile.length()).equals("txt"))
                            throw new Exception();
                        File file = new File(getfile);
                        FileDeal fd = new FileDeal();
                        text = fd.FileToString(file);
                    
            %>
            <fieldset class="textfield">
                <textarea id="textarea" placeholder="请点击上面按钮选择文件或直接在此输入文本"
                    name="textarea"><%=text%></textarea>
            </fieldset>
        </form>

        <textarea class="dealtext" id="result" readonly></textarea>
        <%
            } catch (Exception e) {
            }
        %>
3.功能函数部分代码

这一部分是调用Java函数,来实现相应的功能。

        <textarea class="dealtext" id="result" readonly></textarea>
        <%
            if (ch.equals("详细统计")) {
                String t = request.getParameter("textarea");
                WordDeal wd = new WordDeal(t);
                int charnum = wd.getCharCount();
                int wordcount = wd.getWordCount();
                int line = wd.getLineCount();
                Map<String, Integer> wc = wd.getWordFreq();//词频统计
                List list = wd.sortMap(wc);
                String[] wFreq = wd.ListToArray2(list);
        %>
        <fieldset class="textfield">
            <textarea id="textarea" placeholder="请点击上面按钮选择文件或直接在此输入文本"
                name="textarea"><%=t%></textarea>
        </fieldset>
        </form>

        <textarea class="dealtext" id="result" readonly>字符数为:<%=charnum%>

单词数为:<%=wordcount%>

有效行数为:<%=line%>

词频数:
<%for (int i = 0; i < wFreq.length; i++) {%>
<%=wFreq[i]%>
<%}%></textarea>

5.结对心得

结对编程可以很大程度上提高编程的效率 对于设计思路的共享我觉得是有很大作用的 尤其是相互之间的错误 有一些很简单但是自己确实很难发现但是队友就是很容易帮你找出来 讨论出来的东西也更加全面效率更高

转载于:https://www.cnblogs.com/HYSOUL/p/9751062.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值