RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      검색결과 좁혀 보기

      선택해제
      • 좁혀본 항목 보기순서

        • 원문유무
        • 음성지원유무
        • 학위유형
        • 주제분류
          펼치기
        • 수여기관
          펼치기
        • 발행연도
          펼치기
        • 작성언어
        • 지도교수
          펼치기

      오늘 본 자료

      • 오늘 본 자료가 없습니다.
      더보기
      • CodingTM(Time Machine): 개발자의 의도를 이해하기 위한 소프트웨어 개발 이력 내 코딩 작업 식별, 시각화, 그리고 요약화 구축 방안

        김태영 전북대학교 일반대학원 2023 국내박사

        RANK : 2927

        In software maintenance, code readers try to understand the coding task (adding features, refactoring code, and fixing bugs) implemented by the developer in a software development history of VCS (Version Control System) to reduce resource consumption by comprehending the developer’s intention. To this end, the code reader checks the modified source code files in a commit of VCS. However, understanding a developer’s coding task is difficult for three reasons: 1) A developer uploads multiple coding tasks at once into a single commit. 2) Current visualization tools that show modified source code only provide modified lines and do not show the causal relationship between them. 3) The developer omits the summary of each coding task and writes it as a single sentence in a commit message. Due to these three issues, a code reader has to take a lot of time to comprehend the developer’s coding task, and it causes an increase in maintenance costs. To resolve these issues, we propose a novel approach to identifying, visualizing, and summarizing coding tasks in the software development history to help the code reader comprehend the developer’s intention. In this approach, we first identify the coding task based on the changed source code in a commit, and an AST(Abstract Syntax Tree) pair of previous and current versions of all classes existing between two commits are created. Then, the change type of each AST element is identified by comparing the AST pair, and the coding task is identified from the proposed algorithm. Next, we implement , a visualization support tool based on Eclipse plug-in, to help code readers understand the developer’s intention by visualizing the identified coding task and its elements (e.g., class, method, and attributes) and causal relationships between them. Finally, to generate each coding task summary in a commit mixed with multiple coding tasks, we use a commit with a single coding task as an input of the training phase and sort it sequentially. Then, the NMT (Neural Machine Translation) deep learning model is trained after generating a feature vector from each sorted task element. Last, the trained NMT model provides a coding task summary from identified coding tasks in a commit. In evaluation, we collected 83K commits from Java open-source projects and validated the performance of by comparing it with state-of-the-art methods. As a result, obtained 0.87% precision and 0.88% recall in identifying coding tasks. In the case of summarizing the coding task, outperformed 52.08% of the existing methods. In addition, the human evaluation is conducted to assess the effectiveness of if it helps a code reader comprehend the developer’s intention. We recruited 50 developers with 4~8 years of Java experience. Developers compared ’s coding task and its generated summary with the manually identified coding task and its actual summary. As a result, 80% of the participants evaluated that the coding task identified by helped them comprehend the developer’s coding task compared to the existing tools. Also, the coding task summary generated from showed a 27% higher preference than the actual commit message. 소프트웨어 유지보수에서 유지보수자는 개발자의 의도를 이해함으로써 유지보수 단계에서의 리소스 사용을 감소시키기 위해 VCS (Version Control System)의 소프트웨어 개발 이력에서 개발자에 의해 개발된 코딩 작업 (기능 추가, 코드 리팩토링 및 버그 수정)을 이해하려 노력한다. 이를 위해 유지보수자는 VCS의 커밋에서 수정된 소스코드 파일들을 확인하면서 코딩 작업을 이해한다. 하지만 이러한 방식으로 개발자의 코딩 작업을 이해하는 것은 다음의 세 가지 이유로 인해 어려워진다. 1) 개발자가 여러 코딩 작업을 하나의 커밋에 한 번에 업로드한다. 2) 수정된 코드를 보여주는 현재의 시각화 도구들은 수정된 라인만 보여주고 코드 간의 인과 관계를 보여주지 않는다. 3) 개발자는 각 작업의 요약문을 생략하고 하나의 단일 문장의 커밋 메세지로 작성한다. 이러한 세 가지 문제로 인해 소프트웨어 유지보수 단계에서 개발자의 작업을 이해하는데 상당한 시간을 소요하게 되고 결국 유지보수 비용이 증가하는 결과를 초래하게 된다. 우리는 이러한 문제들을 해결하기 위해 유지보수자가 개발자의 의도를 이해하는 것을 돕기 위한 소프트웨어 개발이력에서의 코딩 작업을 식별, 시각화 그리고 요약화 하는 새로운 접근 방법을 제안한다. 본 연구에서는 먼저 VCS의 커밋에서 수정된 소스 코드를 기반으로 코딩 작업을 식별하기 위해 두 커밋 사이에 존재하는 모든 클래스들의 이전과 현재 버전의 AST (Abstract Syntax Tree) pair를 생성한다. 그런 다음 AST pair를 비교함으로써 각 AST의 요소의 변경 유형을 식별하고 제안된 알고리즘에 의해 코딩 작업을 식별한다. 다음으로, 식별된 코딩 작업 및 작업 내 요소 (예. 클래스, 메소드 및 속성) 그리고 이들 간의 관계를 시각화 하여 개발자 의도 파악에 이해를 돕기 위해 Eclipse 플러그인 기반의 시각화 지원 도구 Coding Tme Machine, 〖Coding〗^TM을 구현한다. 마지막으로, 여러 코딩 작업이 섞인 커밋에서 각 작업을 식별하고 이들의 작업 요약문을 생성하기 위해 단일 작업을 가진 커밋을 딥러닝 모델의 훈련단계에서 입력으로 사용하고 이를 순차적으로 정렬한다. 다음으로 정렬된 각 요소에서 특징 벡터를 생성 후 NMT (Neural Machine Translation) 모델의 훈련을 진행한다. 이렇게 훈련된 NMT 모델을 기반으로 여러 작업을 가진 커밋에서 코딩 작업을 식별하고 각 작업당 특징벡터를 구성하여 모델로부터 각 코딩 작업 요약문을 제공한다. 평가에서는 83K의 Java 오픈소스 프로젝트를 수집하고 최신 방법과 비교하여 〖Coding〗^TM의 성능을 검증했다. 그 결과 〖Coding〗^TM은 코딩 작업 식별 측면에서 0.87%의 정확도와 0.88%의 재현율을 보여주었다. 코딩작업 요약문 생성문의 성능 측면에서는 기존의 방법들과 비교해 평균적으로 52.08% 높은 성능을 보여주었다. 또한, 〖Coding〗^TM이 개발자의 이해를 돕는데 도움이 되는지에 대한 효과성을 검증하기 위해 우리는 50명의 참가자를 모집하였고 이들에게 VCS를 통해 직접 식별한 코딩 작업과 실제 커밋 메세지를 〖Coding〗^TM에서 식별된 코딩 작업과 생성된 코딩 요약문을 비교하게 하였다. 그 결과 기존의 VCS 도구와 비교해 식별된 코딩 작업에서는 80%의 참가자가 〖Coding〗^TM에 의해 식별된 코딩 작업이 개발자의 작업을 이해하는데 도움이 된다고 평가하였다. 또한, 〖Coding〗^TM으로부터 생성된 코딩 작업 요약문에서는 실제 커밋 메세지에 비해서 27% 높은 선호도를 보여주었다.

      • 오픈소스 소프트웨어의 가치와 경제적 영향에 대한 연구

        송주현 연세대학교 법무대학원 2007 국내석사

        RANK : 2910

        The purpose of this study was to comprehensively review the features of the open source software technology development and thereby, make its implications clear and examine the efforts being made by advanced nations including European nations to support development of the open source softwares, and thereupon, suggest the ways to facilitate development of the open source softwares.Since the source codes should be open to the public, the results of developing an open source software cannot be owned exclusively. Nevertheless, many developers and enterprises participate in development of open source softwares. On the other hand, since numerous developers participate in development of an open source software via Internet, it is not easy to coordinate the process of its technological development. This study focused on the motives for development of open source softwares as well as the mechanisms of coordinating the technological innovation efforts. Namely, this study reviewed technological, economic and social motives for development of open source softwares and thereupon, examined how the open source software development is coordinated in view of choice and compromise of technologies.Development of the open source softwares is a solution spotlighted to sharpen the competitive edges of enterprises, and therefore, this study suggested a logical ground for quantitative assessment of stability and cost saving for such open source softwares.Besides, this study suggested some policy alternatives in consideration of diverse problems to effectively introduce the open source softwares. 이 논문에서는 오픈소스 소프트웨어 기술개발의 특성을 포괄적으로 정리하여 그것이 갖는 의미들을 명확히 하고, 유럽을 위시해 각 국에서 오픈소스 소프트웨어 개발을 지원하는 노력들을 검토해본다. 그리고 이들 논의들에 기초해서 오픈소스 소프트웨어 개발 촉진을 위한 방안들을 제시해본다.오픈소스 소프트웨어는 소스코드를 공개해야 하기 때문에 사적 자원을 투입해서 기술개발을 해도 그 결과를 전유하기가 어렵다. 그럼에도 불구하고 많은 개발자와 기업들이 오픈소스 소프트웨어 개발에 참여하고 있다. 또 오픈소스 소프트웨어는 인터넷을 통해 수많은 개발자들이 기술개발에 참여하기 때문에 기술개발과정을 조정하는 것이 용이하지가 않다. 본 연구에서는 이와 같은 독특한 특성 때문에 나타나는 오픈소스 소프트웨어 개발의 동기와 기술혁신 조정의 기제들에 초점을 맞추어 오픈소스 소프트웨어 개발에 대한 기술적·경제적·사회적 동기들을 살펴보고, 오픈소스 소프트웨어가 조정되는 방식을 기술선택과 조정이라는 측면에서 정리하였다.오픈소스 소프트웨어의 도입은 기업의 경쟁력을 강화하는 측면에서 각광받고 있는 솔루션으로서, 이러한 공개 소프트웨어의 도입 시에 안정성과 비용절감에 대한 정량적인 평가를 할 수 있는 논리적 근거에 대해서도 제시하였다.또한 오픈소스 소프트웨어를 도입할 때 발생되는 다양한 문제를 고려하여 효과적으로 도입할 수 있도록 정책을 제안하였다.

      • 남성 중심적 IT 산업에서 여성 개발자의 적응과 대응

        원유빈 연세대학교 대학원 2021 국내석사

        RANK : 2908

        This study was conducted to identify work-related performance and gender positioning of women in their 20s and 30s whose pursuit of careers in software development is regarded non-traditional. This study examined how they adapted and responded to being women software developers, a rapidly growing segment of the workforce in the booming software industry in the post-financial crisis era, in the male-dominated information technology (IT) industry by exploring their pre-employment and employment experiences. The IT industry has been traditionally dominated by men. Men account for nearly 90% of software developers in South Korea and worldwide. With men occupying the vast majority of software developer positions, the so-called gongdori (engineering guy) culture has come to be at the heart of industry that emphasizes programming skills but depreciates soft skills, such as face-to-face communication. However, the Fourth Industrial Revolution has increased both the supply and demand for developers and recently opened the industry's doors wider to women computer science majors and men who did not major in computer science but are valued for their communication skills. Government policies have increased the supply of software developers. The South Korean government's Third National Skills Development Policy provided state-sponsored vocational training programs related to national strategic IT industries and created many low-wage, labor-intensive jobs. By 2018, the proportion of men and women in state-sponsored IT vocational programs were approximately equal. In addition, around this time, young women graduating from vocational schools, such as Meister high schools, and expensive software development bootcamps without computer science-related university degrees began to gain entry into the software development industry. The IT industry has acknowledged the ever-diversifying routes into the field by establishing a pyramidal labor structure that finely assesses and classifies employees. In this structure, young developers are easily exploited and replaced, in stark contrast to their often rosy outlooks when they begin their careers. This study examined the work experiences of women developers in the 20s and 30s who did not major in computer science in college in this stratified labor system in the IT industry. The most of developers who participated in this study had less than 4 years of work experience and began their careers around 2018 when there was a boom in state sponsorship for vocational training. This study was conducted through digital participatory observation and in-depth interviews to investigate IT industry's structure and male-dominated culture and analyze how women adapted and responded to this structure and culture. Analysis showed that the factors that supported their continued employment hinged on their jobs’ flexibility and autonomy, but they were considered internal outsiders. The gendered labor division with women largely engaged in front-end development and men engaged in back-end development affects developers’ career paths. Men's back-end development positions lead to more seniority while women's front-end development positions lead to more planning and communication management. Women's careers can also be interrupted by pregnancy and maternity leave, which adds to the industry's perception of women as casual workers. Women developers’ work is perceived as flexible but also as having similar characteristics to creative digital labor whose precarity demands constant self-development. The participants in this study continued to exist in the labor market by strategically utilizing their identities as both women and developers. Their first strategy was to refrain from engaging in notably feminine behaviors, such as wearing makeup or speaking in various ways that would be considered feminine. They did not limit their identities to those of women alone and recognized gendered discrimination to be old-fashioned, leading to blind faith in meritocracy. Based on the belief that their abilities alone can lead to success, they routinely invested their time and energy in self-development. Their second strategy was to take an individualistic attitude to life by distinctly separating their private and public lives. This separation led to a lack of women mentors in the workplace, further isolating women who were already a minority. Women who were unable to find peer groups were likely to experience insecurity and alienation, further deepening their pessimism about pursuing a career in South Korea and inspiring them to seek careers abroad. Their third strategy was to form solidarity with fellow women developers outside of work. They expanded their networks with other women by engaging in side projects related to liberal arts or sociology and exchanging information related to their careers. This third strategy was in line with the feminism rebooted trend. The emergence of these women demonstrated the importance of communication in the IT industry. It also influenced the industry to produce diverse types of software that help dismantle its predominant man-oriented values. However, there were limitations to these strategies. The participants had to work overtime in the face of an industry continuing to perpetuate the male-dominated culture in which communication skills were not valued. This model of labor will continue to cultivate a neoliberal capitalist-favoring labor structure that willingly pushes developers to work overtime and experience burnout. Therefore, this study suggest restructuring of the Korean IT industry’s current employee model and a transformation of its job market, so that the merits of 'flexibility' and 'autonomy' can be promoted in a legitimate work culture and developers of diverse locations can enter the industry. 본 연구는 다양한 트랙을 통해 ‘소프트웨어 개발자’가 된 20-30대 여성들에 관한 연구이다. 그중에서도 세계 금융 위기 이후 소프트웨어 산업의 발전과 함께 급속도로 늘어나고 있는 비전공 출신 여성 개발자들의 입직 전후 과정을 통해, 남성 다수의 노동 시장인 IT 산업 내 여성들의 적응과 대응 과정을 분석한다. IT 산업은 전통적으로 남성의 영역으로 인식됐다. 우리나라뿐 아니라 전 세계 소프트웨어 개발자의 성비는 남성이 약 90%에 달한다. 이러한 남성 다수의 구조는 컴퓨터에만 몰두해 대면 의사소통 능력 등 ‘소프트 스킬’은 업무 능력으로 인정하지 않는, 소위 ‘너드(nerd)’, ‘공돌이’식 개발자 문화를 만들어냈다. 그러나 4차 산업혁명 담론의 도래 이후 개발자의 수요와 공급은 빠르게 늘었고, 최근에는 의사소통 능력을 갖춘 비전공자 남성과 여성도 IT 업계로 다수 진출하기 시작했다. 이들의 수요 증가에는 국가 정책이 큰 영향을 미쳤다. 정보통신 분야의 국가기간 전략사업 직종 훈련 과정을 기반으로 하는 정부의 제3차 직업능력개발 정책에 따라, 국비 지원 교육 과정을 통해 연계되는 저임금 중노동 일자리가 다수 생겨났기 때문이다. 특히 2018년에 접어들면서부터는 이 국비 지원 교육 과정에 여성과 남성의 비율이 큰 차이가 없을 만큼 여성의 참여도가 늘었다. 더불어 마이스터 고등학교 등 직업학교 출신, 고비용의 소프트웨어 개발자 양성 프로그램인 ‘부트캠프’ 출신 등 컴퓨터 관련 대학 전공자 외에도 다양한 루트를 통해 개발자가 된 청년 여성들이 생겨나기 시작했다. 이러한 루트에 따라 IT 산업 내에는 개발자에 대한 처우 또는 발전 가능성 등을 기반으로 하는 피라미드형 노동 구조가 형성되었다. 이 구조 아래 청년 개발자들의 노동력은 입직 시의 낙관적인 미래와는 별개로 쉽게 소모되고 교체된다. 본 연구는 이 수직적인 노동 구조로 유입되는 20-30대 비전공 여성 개발자들이 일터에서 겪는 경험에 주목한다. 이들은 국비 지원 정책의 붐이 일었던 2018년을 전후로 IT 산업으로 유입된 저연차 여성들이다. 연구자는 디지털 참여관찰과 심층면접을 통해 업계의 구조와 남성 중심의 성별화된 문화를 조사하고, 이에 여성 개발자들이 적응하고 대응해나가는 방식을 분석했다. 이들의 주요 입직 요인은 업계의 ‘유연성’과 ‘자율성’의 특성에서 기반하지만, 여성들은 이 특성 아래서도 모순적인 위치에 놓이게 된다. ‘여성은 프론트엔드’, ‘남성은 백엔드’로 구분되는 성별 분업을 기반으로 성별에 따라 각기 다른 커리어 패스(career path)가 요구된다. 남성의 경우 개발자로 커리어를 이어가며 고위 관리자로 상승하지만, 여성의 경우 기획 및 소통을 담당하는 중간 관리자로 상승하는 경향을 보인다. 이 과정에서 여성은 여전히 임신과 출산으로 인한 경력 단절 현상을 경험하는 등 임시 노동자로 인식된다. 즉, 여성 개발자의 일은 ‘유연성’을 강조하지만 결국 ‘불안정성’에 기반해 지속적인 자기 계발에 몰두하게 하는 ‘디지털 창의 노동’의 성격을 갖는다. 여성들은 ‘여성’과 ‘비전공자’라는 이중적인 정체성 안에서 지속해서 노동 시장에 머무르기 위한 전략을 취한다. 첫 번째 전략은 ‘꾸밈’과 ‘의사소통 방식’ 등 일상적인 영역에서 성별을 드러내지 않는 것이다. 스스로도 여성임을 인식하지 않고자 하며, 성차별은 구시대적인 것으로 정의 내린다. 이는 능력주의에 대한 맹신으로 이어진다. ‘능력만 있으면 된다’는 믿음을 바탕으로 기계적인 자기 계발을 지속한다. 두 번째 전략은 개인주의적인 태도를 바탕으로 사내에서 공과 사를 철저하게 분리하는 것이다. 이는 이미 소수인 여성들을 더욱 고립시켜 여성 선배를 찾을 수 없게 하는 ‘여성 멘토 부족’ 현상으로도 연결된다. 여성들은 동료를 찾을 수 없다는 불안감과 소외감을 더욱 쉽게 느낀다. 또한 국내에서의 커리어 패스에 대한 비관으로 해외로의 이직을 꿈꾸기도 한다. 마지막 전략은 여성 개발자 모임을 통해 일터 밖 연대를 형성하는 것이다. 업무 외의 ‘사이드 프로젝트’로 인문·사회학적 의미를 반영한 개발물을 만들어내고자 노력하거나, 여성 후배에 대한 멘토링을 자처하고 이직 정보 공유 등 여성 간의 연결성을 확장한다. 이는 ‘페미니즘 리부트’ 이후 새롭게 주목 받고 있는 현상이다. 이러한 여성들의 등장으로 업계에 비로소 소통 능력의 중요성이 대두되기 시작했다. 단일화된 남성 중심의 가치를 해체하고 다양성을 중시하는 개발물 또한 생겨나고 있다. 하지만 업계는 여전히 언제든 초과 근무가 가능하고, 소통에는 취약한 너드형 남성을 바람직한 노동자상(相)으로 단일화된 기준을 두고 있기 때문에, 여성들의 개인화된 전략에는 많은 한계가 뒤따른다. 이렇게 남성 중심의 단일한 노동자상은 지속적인 추가 노동과 사회적 과로를 유발하는 신자유주의 자본가 위주의 수직적 노동 구조를 유지하게 한다. 따라서 본 논문에서는 IT 업계의 장점인 ‘유연성’과 ‘자율성’의 실질적인 발현을 위한 노동자상을 재설정하고, 이를 통해 다양한 위치에 있는 노동자의 유입과 노동 시장의 재편을 제언하고자 한다.

      • Understanding and Supporting Curation in the Software Developers' Community

        Wu, Yu ProQuest Dissertations & Theses The Pennsylvania S 2018 해외박사(DDOD)

        RANK : 2907

        소속기관이 구독 중이 아닌 경우 오후 4시부터 익일 오전 9시까지 원문보기가 가능합니다.

        GitHub has become a crucial part of the software developers’ community, where millions of software developers from all over the world come together to share source code and collaborate on software projects. In recent years, appropriating GitHub repositories for curation purposes has become popular. Particularly, software developers have started to adopt GitHub repositories and other features to collect, evaluate, organize, and preserve the Internet resources. Currently, there is an inadequate amount of literature available that examines how well GitHub features are supporting this and how this practice is influencing the software developers’ community. In this thesis, we study curation repositories as a new category of GitHub repository to understand: (1) how GitHub features support this practice; (2) what motivates software developers to curate resources, and especially why GitHub is chosen; (3) how curated resources are used by software developers, and how the GitHub could better support curation. We first conduct statistical analysis on GitHub activity data as well as content analysis on the popular curation repositories in 2014. We compare and contrast practices in curation repositories with software repositories. Results show that (1) the curation category has quickly become popular among repositories on GitHub, (2) curation is directed at learning and professional development, and (3) the curation practice leverages collaborative tools and practices native to GitHub in new ways. Although curation and software repositories use the same set of activities for development, they are different from each other in terms of the quantity of each type of activity performed by developers. Our results suggest that curation is becoming increasingly important to GitHub users and that current curation practices can be better supported with tools designed specifically for curation. iv Next, we conducted in-depth interviews with 16 software developers, each of whom hosts curation projects on GitHub, to understand curators’ experiences with curation on GitHub. Our results suggest that the motivators that inspire software developers to curate resources on GitHub are similar to those that motivate them to participate in the development of open source projects. Convenient tools (e.g., the Markdown syntax and Git version control system) and the opportunity to address professional needs of a large number of peers attract developers to engage in curation projects on GitHub. Benefits of curating on GitHub include learning opportunities, support for development work, and professional interaction. However, curation is limited by GitHub’s document structure and format and by a lack of search function. In light of this, we propose design possibilities to encourage and improve appropriations of GitHub for curation. Last, we did a survey study on the users of curation repositories and found out that software developers perform multiple types of information discovery behaviors to visit curation repositories to look for resources that are distributed all over the Internet for learning, supporting work, and following trends. Information cues in GitHub play important roles for communicating the quality of curated resources. The results informed the design and implementation of RepoHunter, which directly attaches information cues to curated items in a curation repository. The evaluation of RepoHunter reveals its improvement of user experiences and suggests further design opportunities. This thesis sheds lights on the significances of curation in supporting the software developers’ community, the role of curators in helping the community filter and prioritize resources, and the technology, i.e. GitHub, that host and communicate knowledge to a wide population. It also calls for future research direction in supporting curation as a practice and in deepening our understanding of software developers’ information behavior in the social media era.

      • Software Developer’s Capabilities and Entrepreneurial Intention in ICT Industry: A Vietnamese Case

        도안티탄헨 경상대학교 대학원 2018 국내석사

        RANK : 2895

        This study investigates the relationship between entrepreneurs’ capabilities and start-up intentions in software industries particularly focusing on software developers’ capabilities. For this study, five factors of technical skills, industry knowledge, creativity, cooperation and communication, benchmarking reflecting software developer's capabilities were adopted as independent variables. In addition, two factors of entrepreneurial self- efficacy and entrepreneurial motivation were adopted as mediating factors in the relationship between independent factors and start-up intention. Data were collected from entrepreneurs and employees in software developing companies in northern Vietnam and analyzed through structural equation modeling (SEM) to examine the relationship. Results showed the significance of software developers’ capabilities for the development of entrepreneurial intentions through the mediating factors. The results also revealed that benchmarking does not necessarily lead to entrepreneurial intention due to the important role of entrepreneurial self-efficacy.

      • 음향 방출 센서를 이용한 2행정 저속 디젤엔진의 상태 진단을 위한 소프트웨어 개발 및 실험적인 연구

        동수안 틴 목포해양대학교 대학원 2020 국내박사

        RANK : 2895

        Main diesel engine is the most important part of propulsion shafting system on the ship. It decides the productive and safety of the ship in any weather condition on the sea. Therefore, engine5 s state is always concerned and all information of engine during operation should be monitored. One of the necessary information always concerned by many researchers as well as designers is the engine vibration. There are some types of engine vibration caused by many activities and process such as mechanical vibration, sound vibration and acoustic emission (AE) signal. Based on the engine vibration analyzing results, the situation and quality of engine can be determined. Depending on the substance of each vibration5 s type, the suitable sensors as well as analysis methods are applied to measure and analyze the vibration. There are some types of conventional method normally applied to measure the engine vibration, such as the torsional vibration is normally measured by strain gauge while axial vibration is typically obtained by gap sensor or Linear variable differential transformer (LVDT); the velocity sensor and accelerator sensor are applied to measure the engine5 s body vibration; the magnetic pickup sensor and encoder are employed to measure the vibration of angular velocity; sound vibration is detected by microphone. However, the AE signal is the energy emitted under the elastic waves in wide frequency range from 0 to 1MHz and propagates in solid material. So, it is impossible to apply these conventional methods to measure the acoustic emission signal. In this case, the exclusive sensor, called AE sensor, is utilized to detect the AE signal. Nowadays, the condition diagnostic technologies of general machineries and their structures using AE sensor are widely used. Many studies were carried out to prove that AE sensor is suitable and powerful tool to measure the high frequency vibration (AE signal) of reciprocating and rotating machineries. Especially, acoustic emission technique (AET) has been widely employed to evaluate the state of diesel engine5 s components and focused on the AE signal at cylinder area. AE signals at cylinder area are radiated from many sources such as the friction and wear due to the slide between piston rings and cylinder liners, cylinder pressure, flow through the orifice, combustion, gas-sealing force applied on piston rings, blow-by and the valve activities. Based on the AE signal obtained from experiments, the characteristics and the quality of some mechanical components as well as processes can be determined. Due to the complicated of the generating AE signal by these sources, they should be individually investigated. There were many researchers focused their researches on the frequency range less than 50 kHz to determine the characteristics of diesefs components such as injector, valve, piston wear, etc. Moreover, these researches were almost applied on the four-stroke high-speed diesel engine with the experimental condition. Therefore, the lack of these researches on the frequency range higher than 50 kHz for these sources on two-stroke low-speed marine diesel engine in real-working condition. Recently, some manufactures succeed in developing AE sensors up to 900 kHz. Additionally, a new analog to digital converter (ADC) device with sampling rate supported up to 2 MS/s and 8 analog input channels has been developed by National Instrument company. So, this is a good chance to develop an acoustic emission measuring system with frequency range up to 900 kHz. This system can be applied for diesel engines which have maximum 7-cylinder (1 channel to measure shaft speed and 7 channels for 7 cylinders) or other measuring systems. And, of course, to complete this system, it is necessary to design a data acquisition and analysis software for AE measurement with high frequency up to 1MHz. So, in this thesis, a software has been firstly developed by C# language for monitoring simultaneously 8 channels using National Instrument (NI) hardware with 2 MS/s per channel. Then, it was applied in some experiments on low-speed 2-stroke, 6-cylinders, 7-cylinders and 11-cylinders marine diesel engine to investigate the AE signal in frequency range from 20 kHz to 900 kHz real-working condition on cylinder body as well as injector location. Engine/Rotor Vibration Analysis and Monitoring System using Acoustic Emission Sensor (EVAMOS AE) software has been designed to combine with NIUSB - 6366 BNC and AE sensors to measure high frequency vibration. In this study, every experiment of each case study is carried out at same speeds to make sure that other working conditions are not changed. Base on raw data file, researcher also designs some additional functions to help analyst handle these data file. It can cut file based on tachometer signal with one or few revolutions. Additionally, this software supports a common analysis method in frequency domain named Fast Fourier Transform (FFT). With 2-stroke low-speed marine diesel engine, to investigate vibration in one engine cycle, signal of one revolution of every operation modes will be cut to analyze and compare. Then, some analyzing theories will be applied to find out the results. The study results revealed that the AE signal generated by some sources with different frequency ranges can be detected by this measurement. The signal emitted from combustion process is higher and clearer than remain processes. Six basis theories are suitable and powerful to analyze AE signal in high frequency range. Some processes as well as activities could be mapped on angular - frequency domain as friction, combustion, injector process and exhaust valve opening. These analyzed and compared results can be used to build the database as a library in computer in order to serve detecting and diagnosing abnormal operation in diesel engine. It also can be used as database for researches in the future as machine learning. Keywords: Software Development, Acoustic Emission Experiment, Save Big Data, High Frequency Vibration, TOP Bracing Function, Kistler Sensor, Vallen Sensor, NI6366,2MS/s ? Time Synchronous Averaging, TSA, Fast Fourier Transform, FFT, Cubic Interpolation, Kurtosis, Diesel Engine, Misfiring Condition.

      • 웹 기반 소프트웨어 공학 도구의 설계 및 구현

        홍창호 강원대학교 대학원 2011 국내석사

        RANK : 2895

        소프트웨어의 기능에 대한 사용자의 요구가 증대됨에 따라 소프트웨어의 구조는 점점 정교하고 복잡하게 되었다. 따라서 소프트웨어 개발의 생산성을 높일 수 있는 체계적인 개발 방법이 필요하게 되었다. 컴포넌트 기반 개발(Component Based Development, CBD) 방법은 소프트웨어의 품질 향상을 위해 소프트웨어 개발 생명주기(lifecycle)에서 널리 사용되는 방법이다. 이러한 CBD는 소프트웨어의 재사용성을 높여 주며 개발기간 단축과 개발비용의 절감을 가져오고 있다. 그러나 만들어진 소프트웨어 컴포넌트에 대해서 얼마나 품질이 좋은지, 얼마나 재사용성이 있는가에 대한 검증은 아직 미흡한 상태이다. 컴포넌트 기반 개발 방법을 이용한 소프트웨어의 성공적인 개발을 위해서는 소프트웨어 공학에 기반한 더욱 효과적인 프로젝트 관리 방법을 필요로 한다. 이 논문에서는 소프트웨어의 성공적인 개발을 위한 웹 기반 소프트웨어 공학 도구의 구조를 제안하고 구현한다. 제안하는 도구는 웹을 이용해 요구 사항의 관리 및 추적을 위하여 단계별 산출 문서 작성 절차를 제공하고, 단계 산출 문서의 각 항목을 자동적으로 테스트하여 안정성과 신뢰성을 확보하기 위한 방법을 제공한다. 제안하는 도구를 이용하여 컴포넌트 기반 소프트웨어 프로젝트를 실험 대상으로 실험하였으며, 요구 사항 관리와 개발된 소프트웨어의 테스트를 통해 효과적인 소프트웨어 프로젝트 관리가 가능하고, 개발 생산성을 높일 수 있을 것으로 기대한다. As the requirement of user for software functionality has increased, the architecture of software become more sophisticated and complicated. Therefore, we need systematic development method for improvement of software productivity. CBD(Component Based Development) is widely used in software development lifecycle to improve software quality. The CBD results to improve software reusability and reduce development term and cost. But for successful development of software using CBD, more effective project management that is based software engineering is needed. This paper propose a new web-based software engineering tool for successful software development. This tool provides procedure for editing project document for requirements management and requirement tracing, and enable automatically test each item of phase-document of project to make software safe and confident. We verified functionality of this tool through experimenting using component based software project, and expect to improve software development productivity.

      • 소프트웨어 패턴과 응용에 대한 연구

        호붕상 충북대학교 2014 국내석사

        RANK : 2895

        Nowadays, not only did not use the software industry and our daily lives have a deep impact on software. Because of this the software development process productivity and quality issues more prominent. Software development pattern is an important key to improving productivity and quality. Patterns capture existing, well-proven experience in software development and help to promote good design practise. Every pattern deals with a specific, recurring problem in the design or implementation of a software system. Patterns can be used to construct software architectures with specific properties. We also find many patterns in software architecture. Experts in software engineering know these patterns from practical experience and follow them in developing applications with specific properties. They use them to solve design problems both effectively and elegantly. In this thesis, lists three categories of software patterns(Architectural pattern, Design Pattern, Idioms) and description of each pattern concept and features. Then study the examples of use pattern and analyze merits and faults of this pattern in software development.

      • Strategies in Software Development Effort Estimation

        Roark, Kevin Walden University ProQuest Dissertations & Theses 2020 해외박사(DDOD)

        RANK : 2895

        소속기관이 구독 중이 아닌 경우 오후 4시부터 익일 오전 9시까지 원문보기가 가능합니다.

        Software development effort estimating has notoriously been the Achilles heel of the software planning process. Accurately evaluating the effort required to accomplish a software change continues to be problematic, especially in Agile software development. IT organizations and project managers depend on estimation accuracy for planning software deliveries and cost determination. The purpose of this multiple case qualitative study was to identify strategies used by software development professionals in providing accurate effort estimations to stakeholders. The planning fallacy served as the study’s conceptual framework. The participants were 10 software development professionals who were actively engaged in delivering estimates of effort on software development requests in South Texas in the United States. Data were collected from 10 software development professionals in 5 different organizations. Additionally, 23 organizational documents were gathered and reviewed. Thematic analysis was used to identify codes and themes. Prominent themes were (a) defining and decomposing requirements, (b) referencing historical data, (c) identifying risks and unknowns, and (d) fostering communication, collaboration, and a consensus. A key recommendation is for software developers to ensure requirements are defined and decomposed by evaluating the request and breaking the request into manageable pieces to understand the effort required to complete the task. Implications for positive social change include improving morale, work-life balance, alignment of expectations, and software quality.

      • Software-Defined Software

        Katz, Moshe M University of Maryland, College Park ProQuest Diss 2023 해외박사(DDOD)

        RANK : 2895

        소속기관이 구독 중이 아닌 경우 오후 4시부터 익일 오전 9시까지 원문보기가 가능합니다.

        Modern software systems are extremely complex, and this complexity makes them difficult to create, debug, maintain, update, and secure. Because software systems are an increasingly vital part of just about everything that goes on in the world today, it is imperative that we make it easier to develop and maintain them in order to prevent a breakdown of critical systems, whether due to developer error, cyberattack, failure to apply updates, or any other reason. While there are several existing software development frameworks that are commonly used to split a large application into components, these frameworks can be difficult for developers and administrators to implement, and do not provide detailed visibility into the application’s state. We present a new software engineering paradigm which we call “Software-Defined Software” which can make it easier to work with such complex software systems. We break down complex systems into a set of components and define the methods by which these components communicate with each other and how the overall program state is maintained in a way that allows for significant improvements in the software creation, debugging, maintenance, updating, and security processes. Following the model of Software-Defined Networking, we separate the application into two layers, the execution layer in which the component code is executed, and the monitoring/control layer which manages the components and keeps track of the decision functions that determine when each component should be executed in response to changes in the application’s state information. We discuss how Software-Defined Software can alternatively be implemented at multiple levels instead of one large central state store, allowing existing applications to adopt the benefits of the Software-Defined Software in a gradual process.We demonstrate two applications of the Software-Defined Software technique. Our first application is a model example of a large-scale online marketplace. For this application, we describe how a software development team would use our techniques to apply Software-Defined Software to an entire application. Our second application is a live production application that is currently used by thousands of customer users. For this application, we describe application of Software-Defined Software techniques to only a portion of the application using hierarchical decomposition. We also explain how our techniques allow for easier maintenance and expansion of this application in the future.We also discuss several methods of graph analysis to detect potential problems in the application’s decision functions, using loop and cycle detection over directed graphs. Finally, we discuss several future applications which have great potential to benefit from the use of Software-Defined Software.

      연관 검색어 추천

      이 검색어로 많이 본 자료

      활용도 높은 자료

      해외이동버튼