B/S模式下的即时通讯软件设计与实现——Web-mSN

需积分: 5 0 下载量 138 浏览量 更新于2024-06-30 收藏 381KB DOC 举报
"基于B/S方式的即时通讯软件的设计与实现" 即时通讯(Instant Messaging, IM)作为一种高效便捷的在线通信方式,在互联网领域中扮演着重要角色。随着互联网的普及,各种即时通讯软件如雨后春笋般涌现,为用户提供丰富的通讯服务功能。本文主要关注的是基于B/S(Browser/Server,浏览器/服务器)架构的即时通讯系统的开发与设计,特别是名为Web-MSN的系统。 B/S架构的即时通讯系统,用户通过IE等常见浏览器即可进行登录和数据传输,极大地简化了用户操作,提升了用户体验。Web-MSN系统利用Ajax(Asynchronous JavaScript and XML)技术,实现了无需页面刷新的即时通信功能,使得消息传递更为迅速,提高了通信效率。Ajax技术允许前端与后台进行异步交互,用户在发送或接收消息时,无需等待整个页面的刷新,增强了系统的响应速度和互动性。 在系统设计与建模过程中,开发者采用了统一建模语言(Unified Modeling Language, UML)进行需求分析和系统建模,这是一种面向对象的方法论,有助于清晰地表达系统结构和行为。同时,系统基于.NET Framework 1.1进行开发,利用Visual Studio .NET作为集成开发环境(IDE),将.NET框架中的新特性应用到系统中,如ADO.NET用于数据访问,ASP.NET用于构建动态网页等。 此外,开发团队在开发过程中引入了重构技术,这是一种改善代码结构和可读性的方法,旨在提升系统的可维护性和性能。通过持续重构,系统设计得到了优化,确保了软件的稳定性和可扩展性。 关键词:Web-MSN、即时通讯、B/S架构、Ajax 本文的研究内容不仅涵盖了即时通讯的基本原理和技术,还深入讨论了B/S架构在即时通讯系统中的应用,并结合Ajax技术优化了用户体验。通过对现有技术的分析和比较,提出了改进方案,为今后类似系统的开发提供了参考。在实际的开发过程中,强调了软件工程的最佳实践,如使用UML建模、.NET框架的新技术和重构方法,以确保系统的高质量和高效运行。

SELECT bs.report_no, bs.sample_id, bs.test_id, bs.service_type, bs.sample_name, bs.total_fee, bs.receivable_fee, bs.sample_no, bs.ranges, bs.grade, bs.sample_remark AS remark, bs.factory, bs.item_name, bs.apply_dept, bs.specification, bs.factory_number, bs.calibrat_point, bs.mandatory_flag, bs.inspection_type, bs.report_org_name, bs.plan_complete_date, bs.standard_instrument_name, bs.bleeding_site_name, bs.arrive_date, DATEDIFF( bs.plan_complete_date, NOW()) AS surplus_days, bs.order_no, bs.order_type, bs.customer_name, bs.order_id, bs.business_type, bs.group_id, bs.group_name, bs.item_id, bs.is_merge, bs.pass_time, bs.audit_time, bs.report_id, bs.compile_time, bs.generate_time, bs.pass_user_name, bs.audit_user_name, bs.compile_user_name, bs.report_state, bs.is_just_certificate, bs.label_price, bs.labor_cost, bs.product_type, bs.batch_number, bs.original_number, bs.type_no, bs.template_id, bs.template_version, bs.standard_instrument_id, bs.standard_instrument_name, bs.report_query_code, bs.test_user_id, bs.test_user_name, bs.test_time, bs.review_user_id, bs.review_user_name, bs.review_time, bs.or_number, bs.test_result, bs.test_result_text, bs.test_date, bs.test_address, bs.result_value, bs.unit, bs.test_dept_id, bs.test_dept_name, bs.sample_mass, bs.form, bs.color, bs.clarity, bs.amplification_detection, bs.precious_metal, bs.remarks, bs.photo, bs.identifying_code, bs.diamond_quality, bs.hand_ring, bs.craft, bs.instrument_photo, bs.customer_item_basis, bs.quality_photo, bs.check_point, bs.check_code, bs.mass_unit, bs.manufacturer_name, bs.manufacturer_addr, bs.result_sample_describe AS sampleDescribe, bs.test_rule AS metalRuleIdsStr, bsa.attach_id FROM view_sample_info bs JOIN bus_sample_report bsr ON bs.report_id = bsr.id JOIN bus_sample sa ON bsr.sample_id = sa.id JOIN bus_sample_attr bsa ON sa.id = bsa.id 需要按照bs.report_no 的整数来从小到大进行排序

2023-07-15 上传

SELECT bs.sample_id, bs.item_id, bs.report_id, bs.order_no, bs.order_id, bs.order_business_type, bs.commission_date, bs.customer_name, bs.applicant, bs.phone, bs.receive_user_name, bs.contract_no, bs.special_requirements, bs.report_org_name, bs.report_org_address, bs.sample_name, bs.standard_instrument_name, bs.complete_day, bs.sample_remark AS remark, bs.standard_instrument_id, bs.sample_no, bs.factory_number, bs.item_name, /*bs.item_quantity,*/ bs.inspection_type, bs.mandatory_flag, bs.test_quantity, bs.sample_state, bs.current_site, bs.plan_complete_date, bs.affix, bs.ranges, bs.grade, bs.factory, bs.calibrat_point, bs.apply_dept, bs.specification, bs.final_fee, bs.service_type, CASE WHEN bs.actual_complete_date IS NOT NULL THEN DATEDIFF( bs.plan_complete_date, bs.actual_complete_date ) ELSE datediff( bs.plan_complete_date, now()) END AS surplus_days, bs.report_no, bs.is_report_back, bs.back_reason AS report_back_reason, bs.is_just_certificate, bs.report_state, bs.temper, bs.humidity, bs.test_result, bs.test_date, bs.next_test_date, bs.test_cycle, bs.test_address, bs.generate_time, bs.point_report_id, bs.is_merge, bs.circulation_flag, bs.item_proposal_fee AS proposal_fee, bs.change_price_reason, bs.test_user_name, bs.group_id, bs.group_name, bs.charging_num, bs.other_fee, bs.receivable_fee, bs.affix_quantity, bs.test_org, bs.out_org_order_no, bs.out_org_sample_no, bs.business_user_name, bs.pdf_path, bs.settlement_state, bs.result_describe, bsa.attach_id FROM view_sample_info bs JOIN bus_sample_report bsr ON bs.report_id = bsr.id JOIN bus_sample sa ON bsr.sample_id = sa.id JOIN bus_sample_attr bsa ON sa.id = bsa.id 根据bs.commission_date 进行排序最近的排上面 bs.commission_date

2023-07-15 上传